题解 | #有序序列判断#
有序序列判断
https://www.nowcoder.com/practice/22e87f8a8d764a6582710f38d1b40c6e
这题可以顺便复习一下冒泡排序,想要一次打完真的不简单。
#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;
}


