Ввести число и узнать, является ли его старшая цифра самой большой - 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; }
Объяснение кода листинга программы
- Вводится число, и выполняется проверка, больше ли оно 9.
- Если число больше 9, то функция first_biggest вызывается рекурсивно для вычисления старшей цифры этого числа.
- Если число меньше или равно 9, то функция first_biggest возвращает само число.
- В функции first_biggest выполняется проверка, является ли первая цифра введенного числа больше последней цифры.
- Если первая цифра больше последней, то функция возвращает первую цифру, иначе возвращается 0.
- В функции main выполняется цикл, в котором пользователю предлагается ввести число и выводится результат проверки, является ли его старшая цифра самой большой.
- Цикл продолжается, пока пользователь не введет число, равное 0.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д