Определить есть ли в числе цифра 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, то ничего не делать.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д