题解 | #有序序列判断#
有序序列判断
https://www.nowcoder.com/practice/22e87f8a8d764a6582710f38d1b40c6e
#include <stdio.h> int is_ordered(int a[], int sz)//sz是数组元素个数 { //升序判断或者全相等 if (a[0] <= a[1]) { int j = 0; for (j = 1; j < sz-1; j++) { if (a[j] > a[j + 1])//不符合升序 { return 0; } } return 1; } //降序判断 else { int j = 0; for (j = 1; j < sz-1; j++) { if (a[j] < a[j + 1])//不符合降序 { return 0; } } return 1; } } int main() { int n = 0; scanf("%d", &n); int a[50]; int i = 0; for (i = 0; i < n; i++) { scanf("%d", &a[i]); } int ret = is_ordered(a, n); if (ret == 1) { printf("sorted\n"); } else { printf("unsorted"); } return 0; }