цикл вайл язык Сиincludemain() int N,a, max, i, imax; scanf("%d",

Цикл вайл язык Си
include
main()

int N,a, max, i, imax;
scanf("%d", amp;N);
max=0;
i=0;
while (Ngt;0)
i++;
a=N%10;
N=N/10;
if (agt;max)
max=a;
imax=i;

printf ("%d", imax);


это моя программа , где ошибка?
это задание

Дано натуральное число N (Nlt;=10 в 9 степени). Найти порядковый номер его наибольшей цифры, считая от начала числа (если таких цифр несколько, то вывести номер первой встретившейся)

Пример входных и выходных данных
теста Входные данные Выходные данные
1 45545 2
2 100 1

Задать свой вопрос
1 ответ
В Вашей программке номер наибольшего числа подсчитывается  от младших разрядов числа к старшим, а вывести необходимо номер от старших разрядов к младшим.  Поэтому, необходимо добавить в программу строку   imax = i - imax + 1;   перед строчкой
 printf ("%d", imax);
И ещё, так как необходимо вывести первую максимальную цифру числа (если их несколько), то необходимо поменять строчку   if (agt;max)   на  строчку   if (agt;=max)


Егор Куламазов
это не работает
Дорогинина Амина
проверьте
Агата Веселовзорова
в образце 45545
Irka Osse
выводит 5
Миха
Ответ изменен.
Фролипов Олег
спасибо
Алёна Хрястова
Не за что.
, оставишь ответ?
Имя:*
E-Mail:


Последние вопросы

Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт