// 标志位思想
#include <stdio.h>
int main(int argc, char *argv[]) {
int i, n; // n:数组个数
int flag_increase = 0; // increase:增加
int flag_decrease = 0; // decrease:减少
scanf("%d", &n);
int a[n];
// 输入数组
for (i = 0; i < n; i++) {
scanf("%d", &a[i]);
}
for (i = 0; i < n - 1; i++) { // 从零开始遍历数组
if (a[i] < a[i + 1]) {
flag_increase = 1; // 只要出现 前者<后者 标记flag_increase=1;
}
if (a[i] > a[i + 1]) {
flag_decrease = 1; // 只要出现 前者>后者 标记flag_decrease=1;
}
}
if (flag_increase && flag_decrease) { // 既出现 前者<后者 又出现 前者>后者
printf("no\n");
} else {
printf("yes\n");
}
return 0;
}
✔标志位判断数组是否有序
最新推荐文章于 2024-08-03 21:14:32 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)