Деление числа на разряды - C (СИ)
Формулировка задачи:
Что-то странное происходит с делителем, не могу разобраться где ошибка.
#include <stdio.h> #include <stdlib.h> #include <math.h> int main() { int number; int one,delitel,i; printf("Vvedite chislo: "); scanf("%d",&number); for(i=0;i<5;i++){ delitel=pow(10,4-i); one=(number/delitel)%10; printf("delitel %d\n",delitel); printf("%d-e chislo - %d\n",i+1,one); } return 0; }
Решение задачи: «Деление числа на разряды»
textual
Листинг программы
int main() { int number; int one,delitel,i; printf("Vvedite chislo: "); scanf("%d",&number); delitel=10000; for(i=0;i<5;i++){ one=(number/delitel)%10; printf("delitel %d\n",delitel); printf("%d-e chislo - %d\n",i+1,one); delitel=delitel/10; } return 0; }
Объяснение кода листинга программы
В этом коде:
- Объявляются переменные:
number
- для хранения введенного числа;one
- для хранения остатка от деления числа на разряд;delitel
- для хранения делителя, начиная с 10000;i
- для управления циклом.
- Вводится число с помощью функции
scanf
. - Делитель устанавливается равным 10000.
- В цикле пять раз:
- Число делится на делитель с помощью оператора
%
. - Полученный остаток от деления сохраняется в переменной
one
. - Выводится на экран делитель и результат деления.
- Делитель уменьшается на 10 с помощью операции деления
/
.
- Число делится на делитель с помощью оператора
- Цикл завершается.
- Программа возвращает 0, заканчивая свою работу.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д