Деление числа на разряды - 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, заканчивая свою работу.