题解 | #有序序列判断#
有序序列判断
https://www.nowcoder.com/practice/22e87f8a8d764a6582710f38d1b40c6e
#include <stdio.h>
int main() {
int i, j=0, k,l=0,cont1=0,cont2=0;
int arr[50];
scanf("%d", &k);
for (i = 0; i < k; i++)
scanf("%d", &arr[i]);
for (i = 0; i < k - 1;i++) {
if (arr[i]<arr[i+1]||arr[i]==arr[i+1]) {
l = 1;
if (l == 1) {
cont1++;
}
}
if (l==0) {
int p = 0;
for (j; j < k - 1;j++) {
if (arr[j]>arr[j+1]) {
p = 1;
if (p==1) {
cont2++;
}
}
}
}
if (i ==(k-2) || j==(k-2)) {
if (cont1 == (k-1) || cont2 == (k-1)) {
printf("sorted");
}
else {
printf("unsorted");
}
}
}
return 0;
}