Сколько раз повторяется максимальная цифра в числе? - C (СИ)
Формулировка задачи:
Можете помочь с решением этой задачи?
Я пытался сделать, но что-то не получилось(Объясните, пожалуйста, в чем ошибка)
{
int n,a,maxd=0,b,k=0;
scanf("%d",&n);
while(n!=0)
{
a=n%10;
if (a>maxd)maxd=a;
n/=10;}
while(n!=0)
{b=n%10;
if(b==maxd)k++;
n/=10;
}
printf("%d\n",k);
return 0;
}
bump
Решение задачи: «Сколько раз повторяется максимальная цифра в числе?»
textual
Листинг программы
while(n!=0)
{
a=n%10;
if (a>maxd)maxd=a;
n/=10;}
Объяснение кода листинга программы
В данном коде выполняется следующие действия:
- Входное значение числа
nделится на 10, чтобы получить последнюю цифру числа. Переменнаяaпринимает это значение. - Если значение
aбольше текущего максимального значенияmaxd, тоmaxdобновляется значениемa. - Значение
nделится на 10, чтобы удалить последнюю цифру и перейти к следующей цифре в числе. - Цикл продолжается, пока
nне станет равным 0. Таким образом, данный код находит максимальную цифру в числе и сохраняет ее в переменнойmaxd.