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