我们在一些刷题网站上会遇到题目中有多组输入的字样,那这个多组输入到底该怎么办?
我们来看一道简单的题目:BC44-判断整数奇偶性,看到他的要求就是多组输入
#include<stdio.h>
int main()
{
int a = 0;
while (scanf("%d", &a) != EOF)//多组输入 因为scanf的返回值是实际得到的个数,如果失败就是返回EOF
{
if (a % 2 == 0)
{
printf("Even\n");
}
else
{
printf("Odd\n");
}
}
return 0;
}
思路还是很简单的,我们要知道多组输入,先了解 scanf 返回的是什么,我们可以用C语言查询网站查看一下。
返回:
如果成功读取,就返回读取的个数,失败就返回EOF。
所以我们只要在循环的判断条件中,scanf的返回值如果不等于EOF就执行,等于就不执行。
也可以这么写:
while (scanf("%d", &a) == 1)
因为这道题就读取一个数,如果读取成功就返回1就执行了,读取失败就不执行。
我们可以自己测试:在编译器中退出按ctrl+z就可以,只不过vs中需要三次。