题解 | #有序序列判断#
有序序列判断
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; }