题解 | #有序序列判断#
有序序列判断
https://www.nowcoder.com/practice/22e87f8a8d764a6582710f38d1b40c6e
#include <stdio.h>
int is_ordered(int a[], int sz)
{
//升序判断
if(a[0]<=a[1])
{
int j = 0;
for(j=1; j<sz-1; j++)
{
if(a[j]>a[j+1])//不符合升序
{
return 0;
}
}
return 1;
}
//降序判断
else
{
int j = 0;
for(j=1; j<sz-1; j++)
{
if(a[j]<a[j+1])//不符合降序
{
return 0;
}
}
return 1;
}
}
int main() {
int n = 0;
scanf("%d", &n);
int a[n];
int sz = sizeof(a)/sizeof(a[0]);
int i = 0;
for(i=0; i<sz; i++)
{
scanf("%d", &a[i]);
}
int ret = is_ordered(a,sz);
if(ret == 1)
{
printf("sorted\n");
}
else
{
printf("unsorted");
}
return 0;
}
