Ввести число и узнать, является ли его старшая цифра самой большой - C (СИ)

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

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

Нужно ввести число и узнать, является ли его старшая цифра самой большой к примеру 123 старшая цифра 1-нет не является

Решение задачи: «Ввести число и узнать, является ли его старшая цифра самой большой»

textual
Листинг программы
#include <stdio.h>
 
int first_biggest(int n) {
    if ( n > 9 ) {
        int first = first_biggest(n / 10);
        return ( first > n % 10 ) ? first : 0;
    }
    else
        return n;
}
 
int main(void) {
    int n;
    
    while ( printf("Number: ") && scanf("%d", &n) == 1 && n > 0 )
        printf("%s\n", ( first_biggest(n) ) ? "YES" : "NO");
    
    return 0;
}

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

  1. Вводится число, и выполняется проверка, больше ли оно 9.
  2. Если число больше 9, то функция first_biggest вызывается рекурсивно для вычисления старшей цифры этого числа.
  3. Если число меньше или равно 9, то функция first_biggest возвращает само число.
  4. В функции first_biggest выполняется проверка, является ли первая цифра введенного числа больше последней цифры.
  5. Если первая цифра больше последней, то функция возвращает первую цифру, иначе возвращается 0.
  6. В функции main выполняется цикл, в котором пользователю предлагается ввести число и выводится результат проверки, является ли его старшая цифра самой большой.
  7. Цикл продолжается, пока пользователь не введет число, равное 0.

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


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

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

14   голосов , оценка 3.643 из 5
Похожие ответы