
Программирование цикл вайл язык СВопрос №737412 (тип: C)Дано натуральное число N (N<=109).
Определить порядковый номер его минимальной цифры, считая от конца числа (если таких цифр несколько, то вывести номер первой встретившейся)вот программа , вроде все правильно но выдает 0%,где ошибка?#include<stdio.h>main(){ int N,a, min, i, imin; scanf("%d", &N); min=10;a=N%10; while (a<N){ i++; a=N%10; N=N/10; if (a<min) { min=a; imin=i; }}printf ("%d", imin); }

Ответы на вопрос

Почему while (a<N) ? А если первая цифра слева в числе = 1?
while (a<N) нужно заменить на while (0<N)
Убрать строку a=N%10; перед while
После строки min=10; добавить строку i=0;
после изменений будет примерно так:
#include<stdio.h>
#include<conio.h>
main() {
int N,a, min, i, imin;
scanf("%d", &N);
min=10; i=0;
while (0<N)
{ i++;
a=N%10;
N=N/10;
if (a<min)
{ min=a;
imin=i; }
}
printf ("%d", imin);
getch();
return 0;
}



Программа, которую вы предоставили, имеет несколько проблем, которые могут привести к неверным результатам:
1. Не инициализированы начальные значения переменных. Например, переменная `i` не была инициализирована перед использованием в цикле. 2. Цикл `while` может некорректно работать из-за условия `while (a < N)`, которое сравнивает последнюю цифру числа с самим числом `N`. Это условие может привести к непредсказуемому поведению программы. 3. Необходимо учесть случай, когда минимальная цифра равна 0. В текущей реализации программы это может привести к неправильному результату, так как минимальное значение `min` установлено на 10.
Вот исправленная версия вашей программы на языке C, которая должна корректно находить порядковый номер минимальной цифры числа, считая от конца:
```c
#include
int main() { int N, a, min = 9, i = 0, imin = -1; // Инициализация переменных и установка min на максимально возможное значение
scanf("%d", &N);
while (N > 0) { a = N % 10; if (a <= min) { min = a; imin = i; } N = N / 10; i++; }
printf("%d", imin);
return 0; } ```
Этот код должен правильно определять порядковый номер первой минимальной цифры числа, начиная с конца.


Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili