Цикл while на С - C (СИ) (248627)

Узнай цену своей работы

Формулировка задачи:

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

Решение задачи: «Цикл while на С»

textual
Листинг программы
#include<stdio.h>
main(){
 
    int N,a, min, i = 0; 
    scanf("%d", &N);
    min=10;
    while (N > 0){
        a=N%10;
        N=N/10;
        if (a<min){
            min=a;
            i++;
        }
    }
    printf ("%d", i);
}

Объяснение кода листинга программы

  1. В начале кода объявляются переменные N, a, min и i, где N - это целочисленная переменная, a - результат остатка от деления N на 10, min - минимальный результат, i - счетчик.
  2. С помощью функции scanf в переменную N считывается целочисленное значение, которое затем используется в операциях деления и остатка от деления.
  3. Переменная min инициализируется значением 10.
  4. Затем начинается цикл while, который выполняется до тех пор, пока N больше нуля.
  5. В каждой итерации цикла значение a присваивается остатку от деления N на 10, а N уменьшается на единицу.
  6. Затем проверяется, является ли значение a меньше, чем текущее значение min. Если это так, то min присваивается значение a, а i увеличивается на единицу.
  7. По завершении цикла while значение i выводится на экран с помощью функции printf.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.2 из 5