题解 | #有序序列判断#
有序序列判断
http://www.nowcoder.com/practice/22e87f8a8d764a6582710f38d1b40c6e
#include<stdio.h>
#include<stdbool.h>
int main(void)
{
int n;
scanf("%d",&n);
int *a=(int *)malloc(sizeof(int)*n);
// bool issorted=true;//定义一个bool变量用来判断数组是sorted还是unsorted;
int sortup=0,sortdown=0;//一开始看错了题目,以为要判断是否升序序列,用了以上注释方式,提交错误后,用了记录个数的方式
for(int i=0;i<n;i++)
scanf("%d",&a[i]);
for(int i=1;i<n;i++)
{
if(a[i]<a[i-1])
{
// issorted=false;
sortdown++;
}
else
sortup++;
}
if(sortup==0||sortdown==0)//如果全部为升序或者全部为降序,则为sorted,否则为nusorted
printf("sorted\n");
else
printf("unsorted");
return 0;
}