Выяснить сколько из вводимых чисел не превышает число, введенное перед ним - C (СИ)
Формулировка задачи:
Добрый день,помогите пожалуйста с задачей для начинающих.
Ввести N чисел: х1,х2...хn , (N больше либо равно 3). Выяснить сколько из вводимых чисел не превышает
число, введенное перед ним (xk < xk-1).
Спасибо.
Решение задачи: «Выяснить сколько из вводимых чисел не превышает число, введенное перед ним»
textual
Листинг программы
#include <stdio.h> int main() { unsigned cnt = 0, n; int a, b; if ((scanf("%u", &n) != 1) || (n < 3)) { return 1; } if (scanf("%d", &a) == 1) { while ((--n) && (scanf("%d", &b) == 1)) { cnt += b < a; a = b; } } printf("cnt = %u\n", cnt); return 0; }
Объяснение кода листинга программы
В этом коде:
- Переменная
cnt
инициализируется значением 0 и используется для подсчета количества чисел, которые меньше текущего числа. - Переменная
n
инициализируется значением, которое вводится с клавиатуры, и используется как верхний предел для цикла. - Переменная
a
инициализируется значением, которое вводится с клавиатуры, и используется как первое число для сравнения. - Пока
n
больше 0, вводится следующее числоb
с клавиатуры, и если оно меньшеa
, то переменнаяcnt
увеличивается на 1. - После каждой итерации
a
заменяется наb
. - Когда
n
становится равным 0, программа выводит значениеcnt
. Пояснение по коду: - Если пользователь вводит число меньше 3, программа завершается с сообщением об ошибке.
- Если пользователь вводит что-то, что не является числом, программа завершается с сообщением об ошибке.
- Если пользователь вводит ноль или отрицательное число, программа завершается с сообщением об ошибке.
- Если пользователь вводит число, которое больше максимального значения, которое может хранить переменная
cnt
, программа завершается с сообщением об ошибке. - Если пользователь вводит числа в неправильном формате (например, буквы или символы), программа завершается с сообщением об ошибке.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д