int main()
{
int i,arr[100],n,cnt1=0,cnt2=0;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&arr[i]);
for(i=0;i<n-1;i++)
{
if(arr[i]-arr[i+1]>=0)
cnt1++;//降序计数
else
cnt2++;//升序计数
}
if(cnt1==n-1||cnt2==n-1)//一共n个数,两两相减的到n-1个结果
printf("sorted");
else
printf("unsorted");
}
上为依据总量n-1;下节约用时,可提前退出循环
int main()
{
int i,a[100],n,cnt1=0,cnt2=0;
scanf("%d",&n);
for(i=0;i<n;i++){
scanf("%d",&a[i]);
if(i>0&&!(cnt1&&cnt2)){
if(a[i]<a[i-1]) cnt1=1;
else if(a[i]>a[i-1]) cnt2=1;
}} printf("%s\n", (cnt1 && cnt2) ? "unsorted" : "sorted");}

京公网安备 11010502036488号