编写程序,输⼊⼀个数字列表,显示该列表是否已经排好序。注意,输⼊中的 第⼀个数表示列表中的元素个数。该数字不是列表的⼀部分。

• 测试⽤例
• 输⼊:8 10 1 5 16 61 9 11 1
• 输出:NO
• 测试⽤例
• 输⼊:10 1 1 3 4 4 5 7 9 11 21
• 输出:YES

你可以参考一下,希望采纳支持一下

#include<stdio.h>

int main()
{
    int n;
    scanf("%d",&n);
    int i,j,a[n+1];
    
    for(i=0;i<n;i++)
    {
      scanf("%d",&a[i]);
    }
    
    int  flag = 0;
    for(i=0;i<n-1;i++)
    {
      for(j=i;j<n;j++)
      {
        if(a[i]>a[j])
        {
          printf("NO\n");
          flag = 1;
        }
        
        if(flag == 1)
          break;      
      }
      if(flag == 1)
          break;   
    }
    
    if(flag == 0)
      printf("YES\n");
    
    return 0;
}

运行结果:

img

img

供参考:

#include<stdio.h>
#define N 20
int main()
{
    int a[N], n, i, flgR = 0, flgL = 0;
    scanf("%d", &n);
    for (i = 0; i < n; i++)
        scanf("%d", &a[i]);
    for (i = 0; i < n - 1; i++) {
        if (a[i] < a[i + 1]) {
            flgR++;
        }
        else if (a[i] > a[i + 1]) {
            flgL++;
        }
    }
    if (flgR == 0 || flgL == 0)
        printf("YES");
    else
        printf("NO");
    return 0;
}