使用scanf()读取c中未知数量的整数



我需要读取一个未知数量的行,每一行包含一个未知数量的整数,这个数字每行不同。

整数之间用一个空格隔开,行尾没有空格。

输出是所有整数的和。

为例输入:

5
2 2
4 4 4
6 6
3 3

输出:39

数字在几行中输入的事实实际上是无关的。基本上,您只需将用户输入的数字相加,直到输入流结束。

你可能想要这样的东西:

#include <stdio.h>
int main() {    
int sum = 0;
int number;
while (scanf("%d", &number) == 1)
{
sum += number;
}
printf("Sum of all numbers is %dn", sum);
}
与<<p>结束输入kbd> Ctrl +D

。执行示例:

1 2 3
4 5
6 7
8
Sum of all numbers is 36

进入8后按Ctrl+D

while (scanf("%d", &number) == 1)说明

scanf返回输入流结束时成功扫描的项数或EOF。所以这里我们决定停止循环,如果scanf返回的不是1(这意味着用户已经按下Ctrl+D触发EOF,或者输入了不是数字的东西(例如ABC)。

相关内容

  • 没有找到相关文章

最新更新