这题可以顺便复习一下冒泡排序,想要一次打完真的不简单。 #include <stdio.h> int main() { int a; while (scanf("%d", &a) != EOF) { int d=a; int s[a],c[d]; for(int i = 0;i<a;i++) { scanf("%d",&s[i]); } for(int i = 0;i<a;i++) { c[i]=s[i]; } int k =a; while(k)//冒泡排序经典格式 { int flag = 0; for(int p = 1;p<a;p++) { if(c[p-1]>c[p]) { int tep = c[p]; c[p] = c[p-1]; c[p-1]=tep; flag = 1; } } if(flag == 0){ break; } k--; } int t = 0; for(int j = 0;j<a;j++){ if(c[j]==s[j]||c[j]==s[a-j-1])//注意这个判断条件,倒序也算是正序 t++; } if(t == a) printf("sorted"); else printf("unsorted"); } return 0; }