Вывод наибольшей цифры с for - C (СИ)
Формулировка задачи:
Здравствуйте. Помогите, пожалуйста, найти ошибку в коде.
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
int main()
{
int n,max,s;
clrscr();
printf("\n Vvedite naturalnoe chislo n=");
scanf("%d",&n);
for(;n>0;n/=10)
{
s=n%10;
if(s>max)
{
max=s;
}
}
printf("\n Vivod: \n max=%d",max);
getch();
return 0;
}Решение задачи: «Вывод наибольшей цифры с for»
textual
Листинг программы
max = n%10; n/=10;
Объяснение кода листинга программы
- Задается переменная
maxи инициализируется значениемn % 10, гдеn— это переменная, содержащая число, а%— оператор модуля, который возвращает остаток от деления. Это означает, чтоmaxбудет содержать наибольшую цифру числаn. - Затем значение переменной
nделится на 10 с помощью оператора/=, и результат присваивается обратно переменнойn. Это делается для того, чтобы удалить последнюю цифру числаnи перейти к следующей наибольшей цифре. Таким образом, код будет работать до тех пор, пока не будет достигнуто число, состоящее из одной цифры.