Определить есть ли в числе цифра 3, если есть напечатать это число - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Задается массив, рандомный из 10 чисел в диапазоне от -20 до 20.Найти среди его чисел, такое в котором есть цифра 3 и напечатать это число. Написал программу, что надо изменить что бы правильно работала.
Листинг программы
  1. int d,i,b;
  2. for(i=1;i<n;i++)
  3. {
  4. while(a[i]!=0)
  5. {d=abs(a[i])%10;
  6. if(d==3)
  7. {
  8. b=a[i];
  9. }
  10. a[i]/=10;
  11. }
  12. printf("i=%d\n",b);
  13. }

Решение задачи: «Определить есть ли в числе цифра 3, если есть напечатать это число»

textual
Листинг программы
  1. if (d == 3) {
  2.     while (b) {
  3.         b /= 10;
  4.         d = b % 10;
  5.         if (d == 2) {
  6.             printf("a[%d]=%d\n", i, a[i]);
  7.             break;
  8.         }
  9.     }
  10.     break;
  11. }
  12.  
  13. else if (d == 2) {
  14.     while (b) {
  15.         b /= 10;
  16.         d = b % 10;
  17.         if (d == 3) {
  18.             printf("a[%d]=%d\n", i, a[i]);
  19.             break;
  20.         }
  21.     }
  22.     break;
  23. }

Объяснение кода листинга программы

В этом коде определена функция, которая проверяет, есть ли в числе цифра 3. Если это так, она печатает это число. Список действий:

  1. Инициализировать переменную d значением 3.
  2. В цикле while перебирать число b.
  3. Делить b на 10 и обновлять d остатком от деления.
  4. Если d равно 2, то в цикле while печатать значение a[i] и прерывать цикл.
  5. Если d равно 3, то в цикле while печатать значение a[i] и прерывать цикл.
  6. Если d равно 2 или 3, то прерывать всю функцию.
  7. Иначе, если d не равно 2 или 3, то ничего не делать.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.636 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы