读入5个正整数并且显示它们,当输入负数时,程序终止
时间: 2024-10-27 10:05:08 浏览: 25
为了实现这个功能,你可以使用循环结构遍历用户输入,同时检查每个输入是否为正整数。如果输入的是负数,就提前结束程序。下面是C语言代码的一个示例:
```c
#include <stdio.h>
int main() {
int num;
printf("请输入5个正整数,输入负数结束程序:\n");
for (int i = 0; i < 5; i++) {
if (scanf("%d", &num) != 1 || num <= 0) { // 检查输入是否正确
if (num < 0) {
printf("输入错误!您输入了负数,程序已终止。\n");
break;
} else {
printf("无法识别输入,请重新输入正整数:\n");
// 用fflush(stdin)清空缓冲区,避免干扰后续输入
// 注意:此操作在旧版C编译器上可能不可行,实际应用中可能会有兼容性问题
//fflush(stdin);
clearerr(stdin); // 更好的替代方案(清除输入流错误)
}
} else {
printf("第 %d 个数字是:%d\n", i + 1, num);
}
}
return 0;
}
```
在这个程序中,`scanf`用于读取用户的输入,`if`语句检查输入是否为正整数。如果输入不是正整数,程序会提示用户重新输入或直接终止。
阅读全文