题解 | #有序序列判断#
有序序列判断
https://www.nowcoder.com/practice/22e87f8a8d764a6582710f38d1b40c6e
#include <stdio.h>
int main() {
int i,n;
int cnt1 = 0;
int cnt2 = 0;
scanf("%d",&n);
int arr[n];
//判断是否为有序数列,升序或者降序都可以
for (i = 0; i < n; i++) { //依次输入n个数到数组中
scanf("%d",&arr[i]);
}
for (i = 0; i < n-1; i++) { //遍历到第n-1个数
if (arr[i]-arr[i+1] >= 0) //如果前一个数比后一数大,计数器1加一
cnt1++;
else //如果前一个数比后一个数小,计数器2加一
cnt2++;
}
if (cnt1 == n-1||cnt2 == n-1) { //如果所有的数都是有规律的,升序或者降序
printf("sorted"); //打印sorted
}
else {
printf("unsorted"); //否则遍历出来的数有升有降就打印unsorted
}
return 0;
}