题解 | #有序序列判断#
有序序列判断
http://www.nowcoder.com/practice/22e87f8a8d764a6582710f38d1b40c6e
#include <stdio.h>
int main(){
int n;
scanf("%d",&n);//读取数组长度
int a[n];//定义数组
int count=0;//定义判断依据
for(int i=0;i<n;i++){
scanf("%d",&a[i]);}//读取数组所有数值
for(int i=0;i<n-2;i++){//利用数组有序i、i+1、i+2三项同号或同0,进行判断
int f=a[i+1]-a[i];
int b=a[i+2]-a[i+1];
if(f*b>=0)
;
else
count=1;
}
if(count==0)//根据判据输出
printf("sorted");
else
printf("unsorted");
return 0;
}
int main(){
int n;
scanf("%d",&n);//读取数组长度
int a[n];//定义数组
int count=0;//定义判断依据
for(int i=0;i<n;i++){
scanf("%d",&a[i]);}//读取数组所有数值
for(int i=0;i<n-2;i++){//利用数组有序i、i+1、i+2三项同号或同0,进行判断
int f=a[i+1]-a[i];
int b=a[i+2]-a[i+1];
if(f*b>=0)
;
else
count=1;
}
if(count==0)//根据判据输出
printf("sorted");
else
printf("unsorted");
return 0;
}