题解 | #有序序列判断#
有序序列判断
https://www.nowcoder.com/practice/22e87f8a8d764a6582710f38d1b40c6e
#include <stdio.h> int main() { int N; scanf("%d",&N); int arr[50]; for(int t=0;t<N;t++) { scanf("%d",&arr[t]); } int s=0; for(int i=0;i<N;i++) { if(arr[i]!=arr[i+1]) { s=s+1; } } if(s==0) { printf("sorted"); return 0; } int brr[50]; int crr[50]; for(int i=0;i<N;i++) { brr[i]=arr[i]; crr[i]=arr[i]; } for(int i=0;i<N;i++) { for(int j=0;j<N;j++) { if(brr[i]<brr[j]) { int t=brr[j]; brr[j]=brr[i]; brr[i]=t; } } } for(int i=0;i<N;i++) { for(int j=0;j<N;j++) { if(crr[i]>crr[j]) { int t=crr[j]; crr[j]=crr[i]; crr[i]=t; } } } int count=0; for(int i=0;i<N;i++) { if(arr[i]!=brr[i]) { count =count+1; } } int count0=0; for(int i=0;i<N;i++) { if(arr[i]!=crr[i]) { count0=count0+1; } } if(count==0||count0==0) { printf("sorted"); } else { printf("unsorted"); } return 0; }#刷题#