题解 | #有序序列判断#
有序序列判断
https://www.nowcoder.com/practice/22e87f8a8d764a6582710f38d1b40c6e
#include <stdio.h>
int sort(int arr[], int n)
{
if (arr[0] >= arr[1])
{
int flag = 0;//假设为有序状态
for (int j = 0; j < n - 1; j++)
{
if (arr[j] < arr[j + 1])//因为我们前面有arr[0]>arr[1],所以这里如果有这种情况的话,就不是有序的,那我们就把flag改为无序状态
{
flag = 1;
}
}
return flag;
}
else
{
int flag = 0;
for (int j = 0; j < n - 1; j++)
{
if (arr[j] > arr[j + 1])
{
flag = 1;
}
}
return flag;
}
}
int main()
{
int n = 0;
scanf("%d", &n);
int arr[50];
for (int i = 0; i < n; i++)
{
scanf("%d",&arr[i]);
}
int ret = sort(arr, n);
if (ret == 1)
{
printf("unsorted");
}
else
{
printf("sorted");
}
return 0;
}
