Я изучаю C, и у меня с трудом понимаются циклы и использование modulo. Я знаю, что Loops используются для сокращения программы, и Modulo используются, чтобы вытащить оставшуюся часть. Мое задание состояло в том, чтобы «написать программу на C, чтобы найти сумму отдельного положительного целого».Loops and Modulo
Я просто потратил несколько часов, пытаясь понять эту проблему. Я тоже экспериментировал.
int n,d=0,s=0;
printf("\nEnter a number\n\n");
scanf("%d",&n);
while(n>0)
{
d = n%10;
s = s+d;
n = n/10;
}
printf("\n sum of the individual digits = %d",s);
Мои вопросы:
Может кто-нибудь помочь мне понять поток этой программы? Почему используется Modulo? и Почему существует п = п/10
Experiements я сделал:
Когда я удален д = п% 10; line выводит цифры seperatley. поэтому он не вычисляется.
123 = т.е. 6 -> Это дает мне 136
Когда я извлекал линию п = п/10 Это не показывает мне выход. В заявлении printf есть параметр 's'
Спасибо заранее!
Попробуйте запустить код по строке под отладчиком (храните часы на переменных 'n',' d' и 's'). – pmg
Если вы удалите 'd = n% 10', он будет печатать' 0', потому что вы никогда не изменяете 's', изначально' 0'. Если вы удалите 'n = n/10', он будет зацикливаться навсегда, потому что вы никогда не изменяете' n', что всегда равно> 0. Некоторые эксперименты могут быть полезны, но трудно понять, как это происходит. Лучше было бы вставить printf-инструкции, которые расскажут вам, какие различные значения находятся на каждом шаге (или научиться использовать отладчик). –