在c和c++中又改如何处理
时间: 2024-03-19 19:44:55 浏览: 39
在C和C++中,你可以使用`scanf`函数来读取用户输入的数据,并使用`isdigit`函数判断输入的数据是否为数字。如果输入的数据不是数字,则可以使用`fflush(stdin)`函数清空输入缓冲区,避免死循环。
代码示例:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
int year = 0;
char c;
printf("请输入一个年份:");
while (scanf("%d", &year) != 1) { // 如果输入的数据不是整数
printf("输入格式不正确,请重新输入一个整数年份!\n");
fflush(stdin); // 清空输入缓冲区,避免死循环
while ((c = getchar()) != '\n' && c != EOF) {} // 读取并丢弃输入缓冲区中的字符
printf("请输入一个年份:");
}
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
printf("%d年是闰年!", year);
} else {
printf("%d年不是闰年!", year);
}
return 0;
}
```
在这个例子中,我们使用`scanf`函数读取用户输入的年份,并使用`isdigit`函数判断输入的数据是否为数字。如果输入的数据不是数字,则使用`fflush(stdin)`函数清空输入缓冲区,避免死循环。如果输入的数据是数字,则判断其是否为闰年并输出结果。
阅读全文