Определить есть ли в числе цифра 3, если есть напечатать это число - C (СИ)
Формулировка задачи:
Задается массив, рандомный из 10 чисел в диапазоне от -20 до 20.Найти среди его чисел, такое в котором есть цифра 3 и напечатать это число. Написал программу, что надо изменить что бы правильно работала.
int d,i,b; for(i=1;i<n;i++) { while(a[i]!=0) {d=abs(a[i])%10; if(d==3) { b=a[i]; } a[i]/=10; } printf("i=%d\n",b); }
Решение задачи: «Определить есть ли в числе цифра 3, если есть напечатать это число»
textual
Листинг программы
if (d == 3) { while (b) { b /= 10; d = b % 10; if (d == 2) { printf("a[%d]=%d\n", i, a[i]); break; } } break; } else if (d == 2) { while (b) { b /= 10; d = b % 10; if (d == 3) { printf("a[%d]=%d\n", i, a[i]); break; } } break; }
Объяснение кода листинга программы
В этом коде определена функция, которая проверяет, есть ли в числе цифра 3. Если это так, она печатает это число. Список действий:
- Инициализировать переменную
d
значением 3. - В цикле while перебирать число
b
. - Делить
b
на 10 и обновлятьd
остатком от деления. - Если
d
равно 2, то в цикле while печатать значениеa[i]
и прерывать цикл. - Если
d
равно 3, то в цикле while печатать значениеa[i]
и прерывать цикл. - Если
d
равно 2 или 3, то прерывать всю функцию. - Иначе, если
d
не равно 2 или 3, то ничего не делать.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д