Разделение числа ни цифры через цикл - C (СИ)
Формулировка задачи:
Выдает что попало
#include <stdio.h>
int main()
{int chislo,a,i=0,figure;
scanf("Enter chislo and figure");
printf("%d%d",&chislo,&figure);
while(chislo > 0) {
a=chislo%10;
i=i++;
chislo=chislo/10;
printf("%d\n", a);
if (a == figure) printf("%d", i); break;
}
printf("0");
}Решение задачи: «Разделение числа ни цифры через цикл»
textual
Листинг программы
#include <stdio.h>
int main() {
int chislo, a, i = 0, figure;
printf("Enter chislo and figure: ");
scanf("%d%d", &chislo, &figure);
while (chislo > 0) {
a = chislo % 10;
i++;
chislo = chislo / 10;
printf("%d\n", a);
if (a == figure) {
printf("%d", i);
break;
}
}
return 0;
}
Объяснение кода листинга программы
- Подключение стандартной библиотеки для работы с вводом/выводом (stdio.h).
- Объявление переменных: целое число (chislo), переменная для хранения очередной цифры (a), счётчик циклов (i) и число (figure).
- Вывод сообщения с просьбой ввести число и число для поиска.
- Считывание из консоли в переменные chislo и figure.
- Организация цикла по остатку от деления числа на 10 (chislo > 0).
- Вычисление очередной цифры числа по модулю 10 (a = chislo % 10).
- Увеличение счётчика циклов на единицу (i++).
- Деление числа на 10 (chislo /= 10).
- Вывод очередной цифры числа (printf(
%d\n, a)). - Проверка на равенство очередной цифры числу для поиска (if (a == figure)).
- Если условия выполняются, то вывод количества циклов, в которых находилось искомое число (printf(
%d, i)). - Прерывание цикла (break).
- Завершение программы (return 0).