利用条件和循环语句编写程序。输入一个正整 数,然后分别打印出从1到该整数的奇数和偶 数。如果用户输入的不是正整数,程序会提醒 用户重新输入。
时间: 2024-11-03 11:24:02 浏览: 9
在C语言中,你可以使用`while`或`do-while`循环结合`if-else`条件语句来实现这个功能。以下是一个使用`do-while`循环的例子,因为它确保至少会执行一次循环,即使初始输入不满足条件:
```c
#include <stdio.h>
int main() {
int number;
// 循环直到得到一个正整数
do {
printf("请输入一个正整数: ");
if (scanf("%d", &number) != 1 || number <= 0 || number != (int)number) { // 检查输入是否为正整数
printf("输入错误,请输入一个正整数。\n");
scanf("%*[^\n]"); // 清除缓冲区中的输入
}
} while (!isdigit(number)); // isdigit检查输入是否全由数字组成
// 打印奇数和偶数
for(int i = 1; i <= number; i++) {
if(i % 2 == 0) { // 偶数
printf("%d 是偶数, ", i);
} else { // 奇数
printf("%d 是奇数, ", i);
}
}
return 0;
}
```
在这个程序中,我们首先提示用户输入一个正整数。如果输入不符合要求(不是正整数),我们会清除输入缓冲并继续询问。一旦输入了一个正整数,我们用一个`for`循环遍历从1到该数的每个整数。如果某个数能被2整除(即 `i % 2 == 0`),它是偶数;否则,它是奇数。
如果你有任何疑问,或者想了解如何在其他循环结构(如`while`)中实现相同的功能,随时告诉我。
阅读全文