题解 | #有序序列判断#
有序序列判断
https://www.nowcoder.com/practice/22e87f8a8d764a6582710f38d1b40c6e
#include <stdio.h> int main(void) { int n; scanf("%d",&n); int arr[50]; for(int i=0;i<n;i++) { scanf("%d",&arr[i]); } int flag=0; //判断是否有序--判断有序就是排序的逆过程 if(arr[0]>arr[n-1])//表示降序 { for(int i=0;i<n-1;i++)//相邻的两项之间相互比较大小 { if(arr[i]<=arr[i+1]) { flag=1; break; } } } else if(arr[0]==arr[n-1]) {for(int i=0;i<n-1;i++)//相邻的两项之间相互比较大小 { if(arr[i]!=arr[i+1]) { flag=1; break; } } } else { for(int i=0;i<n-1;i++)//相邻的两项之间相互比较大小 { if(arr[i]>=arr[i+1]) { flag=1; break; } } } if(flag==0) puts("sorted"); else puts("unsorted"); return 0; }