题解 | #有序序列判断#
有序序列判断
https://www.nowcoder.com/practice/22e87f8a8d764a6582710f38d1b40c6e
#include <stdio.h> #include <stdlib.h> #include <stdbool.h> //判断是否有序 bool IsOrder(int *a, int size) { //降序 if(a[0] >= a[1]) { //也要降序 for(int i = 0; i < size - 1; i++) { if(a[i] < a[i + 1]) return false; } } else { //升序 for(int i = 0; i < size -1; i++) { if(a[i] > a[i + 1]) return false; } } return true; } int main() { int n = 0; scanf("%d", &n); int* a = (int*)malloc(sizeof(int) * n); for(int i = 0; i < n; i++) { scanf("%d", &a[i]); } //判断是否有序 if(IsOrder(a, n)) printf("sorted"); else printf("unsorted"); return 0; }