Массив: Определить, упорядочены ли строго по возрастанию элементы одномерного массива - C (СИ)
Формулировка задачи:
1.Написать программу, определяющую, упорядочены ли строго по возрастанию элементы одномерного массива. Входной параметр – одномерный массив. Возвращаемое значение – 1, если упорядочены, 0 - в противном случае.
2.Определить функцию для расчета количества цифр натурального числа. Входной параметр – число. Возвращаемое значение – количество.
Решение задачи: «Массив: Определить, упорядочены ли строго по возрастанию элементы одномерного массива»
textual
Листинг программы
#include <stdio.h> int num_digits(unsigned n) { return 1 + ( ( n > 9 ) ? num_digits(n / 10) : 0 ); } int main(void) { unsigned n; while ( printf("Number: ") && scanf("%u", &n) == 1 ) { printf("N = %u\n", n); printf("%d digits\n", num_digits(n)); } return 0; }
Объяснение кода листинга программы
В этом коде:
- В функции main() программа запрашивает у пользователя ввод числа и сохраняет его в переменной
n
. - В функции num_digits(unsigned n) определяется количество цифр числа
n
. Рекурсивный вызов функции используется для обработки чисел, которые больше 9. Когда число делится на 10, функция вызывает саму себя, пока не будет обработано число, меньше или равное 9. В конце функции возвращается 1, если число больше или равно 10, и 0 в противном случае. - В функции main() после определения числа
n
, программа выводит это число и количество его цифр с помощью функцииprintf()
. - В функции main() программа продолжает запрашивать у пользователя ввод чисел и выводить количество их цифр, пока пользователь не введет недопустимое значение или не отправит сигнал конца файла.
- В функции main() программа завершается и возвращает 0.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д