Series38. Дано целое число $$K$$, а также $$K$$ наборов ненулевых целых чисел. Каждый набор содержит не менее двух элементов, признаком его завершения является число 0. Для каждого набора выполнить следующее действие: если элементы набора возрастают, то вывести 1; если элементы набора убывают, то вывести –1; если элементы набора не возрастают и не убывают, то вывести 0.
Решение выводится результат 1 и -1, только если последовательность строго монотонна:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
#include <stdio.h> int main(void) { int k; printf("K:"); scanf("%i", &k); int count=0,ki,a=1,a1; for (ki=1; ki<=k; ++ki){ printf(">"); scanf("%i", &a); int checkup=0, checkdown=0; while(a!=0){ a1=a; printf(">"); scanf("%i", &a); if ((a1<=a)&&(a!=0)) checkup=1; if ((a1>=a)&&(a!=0)) checkdown=1; } if (checkup&checkdown) printf("0\n"); else if (checkup) printf("1\n"); else if (checkdown) printf("-1\n"); } return 0; } |
Решение выводится результат 1 и -1, если последовательность монотонна, если все элементы последовательности равны выводится 0:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
#include <stdio.h> int main(void) { int k; printf("K:"); scanf("%i", &k); int ki,a=1,a1; for (ki=1; ki<=k; ++ki){ printf(">"); scanf("%i", &a); int checkup=0, checkdown=0; while(a!=0){ a1=a; printf(">"); scanf("%i", &a); if ((a1<a)&&(a!=0)) checkup=1; if ((a1>a)&&(a!=0)) checkdown=1; } if (checkup&checkdown) printf("0\n"); else if (checkup) printf("1\n"); else if (checkdown) printf("-1\n"); else { printf("0\n"); } } return 0; } |
Другие задачи из раздела Series можно посмотреть здесь.
Комментарии: