编写一个程序,从键盘依次读入5个实数,如果整个输入序列不递减,则输出YES,否则输出NO. (所谓输入序列不递减,指对于序列中连续的两个数n1和n2,满足n1<=n2)
时间: 2024-10-17 07:03:15 浏览: 55
要编写这样一个程序,你可以使用C语言的基本输入和循环结构。以下是一个简单的实现,使用`<stdio.h>`库中的`scanf`函数来读取输入并检查是否满足递增或递减条件:
```c
#include <stdio.h>
int main() {
float num[5]; // 定义一个包含5个元素的数组来存储输入的实数
int i = 0;
printf("请输入5个实数(按空格分隔):\n");
// 逐个读取输入
while (i < 5) {
if (scanf("%f", &num[i]) != 1 || errno == ERANGE) { // 判断输入是否正确
printf("错误!请输入有效的实数。\n");
i--; // 如果输入无效,回溯到上一个位置重新尝试
continue;
}
i++;
}
// 检查序列是否递减
for (i = 1; i < 5; i++) {
if (num[i] < num[i - 1]) {
break; // 如果找到不递减的情况,跳出循环
}
}
if (i == 5) {
printf("YES\n"); // 如果所有数字都递减,输出YES
} else {
printf("NO\n"); // 否则,输出NO
}
return 0;
}
```
这个程序首先提示用户输入五个实数,然后遍历这些输入,检查它们是否按照递减顺序排列。如果在某个位置发现前面的数大于后面的数,说明序列不是递减的,此时就输出"NO";如果全部检查完毕都没有发现违反递减的情况,就输出"YES"。
阅读全文