Отношение четырехзначного числа к сумме его цифр - C (СИ)
Формулировка задачи:
Здравствуйте. Дана задача составить алгоритм, который находит наибольшее значение отношения четырехзначного числа к сумме его цифр, т.е. среди всех чисел от 1000 до 9999. Вроде бы простая задача, но не работает:
Заранее спасибо за помощь.
#include<stdio.h> #include<conio.h> #include<locale.h> int main() { setlocale(LC_ALL, "Russian"); int n=1000,c,m,s; float d,max; d=0;c=0;max=0; for(;n<10000;n++) { m=n;s=0; while(n>0) { s=s+n%10; n/=10; } d=m/s; if(max<d) { max=d; c=m; } } printf("максимальное отношение числа = %5.1f \n",max); printf("число %d \n",c); getch(); }
Решение задачи: «Отношение четырехзначного числа к сумме его цифр»
textual
Листинг программы
int main() { setlocale(LC_ALL, "Russian"); int n,s,m,c; float d,max; n=1000;max=0;d=0; for(;n<10000;n++) { s=0;m=n; while(n>0) { s+=n%10; n/=10; } d=m/s; if(max<d) { max=d; c=m; } n=m; } printf(" отношение = %6.3f\n",max); //для проверки printf(" число m = %d\n",m); printf(" число d = %d\n",d); printf(" число s = %d\n",s); getch(); }
Объяснение кода листинга программы
- Вводится значение переменной
n
равное 1000 и инициализируется переменнаяmax
равная 0. - Выполняется цикл
for
, который выполняется 9999 раз (от 1000 до 9999). - Внутри цикла переменной
s
присваивается значение 0, переменнойm
присваивается значениеn
, а переменнойn
присваивается значение 0. - Затем выполняется внутренний цикл
while
, который выполняется до тех пор, покаn
больше 0. - Внутри внутреннего цикла значение
n
делится на 10 (получение последней цифры числа), а затем прибавляется кs
(сумма цифр числа). - После завершения внутреннего цикла переменной
d
присваивается значениеm
деленное наs
(отношение числа к сумме его цифр). - Если значение
max
меньше текущего значенияd
, то максимальное значениеmax
заменяется на текущее значениеd
, а переменнаяc
заменяется на значениеm
. - После завершения цикла
for
выводится значение переменнойmax
и для проверки выводятся значения переменныхm
,d
иs
. - Программа ждет нажатия клавиши с помощью функции
getch()
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д