Выяснить, составляют ли числа возрастающую последовательность - C (СИ)
Формулировка задачи:
Ребята, помогите решить. Задача: Даны целые числа A1 , A2 , ... .Признак конца последовательности число 9999. Выяснить, составляют ли числа возрастающую последовательность.
Решить в таком виде:
Прошу помочь написать на более понятном для начинающего, 1-курсник, а нифига не понимаю в программировании (((
Пример:
scanf ("%f",&a);
while (a!=W)
{
/* обработка a */
. . .
scanf ("%f",&a);
}#include <stdio.h>
#include <math.h>
main()
{
int n; /* количество чисел */
int a, /* очередное число */
s=0, /* сумма */
i; /* порядковый номер числа в посл-ти */
printf ("\nВведите количество чисел: ");
scanf ("%d",&n);
printf ("Введите числовую последовательность:\n");
for (i=1; i<=n; i++)
{
scanf ("%d",&a);
if (abs(a) < i*i) s=s+a;
}
printf ("сумма=%d\n",s);
}Решение задачи: «Выяснить, составляют ли числа возрастающую последовательность»
textual
Листинг программы
#include <stdio.h>
#define STOP (9999)
int main(void) {
int first, second, isIncreading = 1;
printf("> ");
if ( scanf("%d", &first) != 1 )
return 1;
if ( first == STOP )
return 1;
while ( printf("> ") && scanf("%d", &second) == 1 && second != STOP ) {
if ( second <= first )
isIncreading = 0;
first = second;
}
printf("%s\n", ( isIncreading ) ? "YES" : "NO");
return 0;
}
Объяснение кода листинга программы
- Подключение стандартной библиотеки для работы с файлами и вывода данных.
- Определение константы STOP, которая обозначает максимальное значение для проверки возрастающей последовательности.
- Начало функции main, в которой происходит инициализация переменных: первого числа first, второго числа second и флага isIncreading, который указывает на то, что последовательность возрастающая.
- Вывод сообщения с приглашением ввести первое число и его последующий прием с помощью функции scanf.
- Проверка корректности ввода: если первое число равно STOP, то функция завершается и возвращает 1.
- Запуск цикла while, который будет выполняться до тех пор, пока второе число не будет равно STOP и ввод корректен.
- Внутри цикла проверяется, является ли второе число меньше или равно первому, если это так, то флаг isIncreading изменяется на 0.
- После проверки последовательности, первое число обновляется вторым числом.
- После завершения цикла выводится сообщение с результатом проверки возрастающей последовательности.
- Функция main возвращает 0, что означает успешный исход.