如何在运行时通过c中的用户选择获取多个整数输入。 这里输入的第一行是测试用例的数量。然后我在这种情况下计算输入数字的总和。
测试用例:
输入
3
1 6 7
2 7 3 4
2 1
输出:
14
16
3
我们能否以这种方式修改 scanf(),以便它可以处理这些动态输入。
我不能将该行作为字符串输入,然后将它们拆分为数字。
我们可以使用空格和\ n来决定数字,就像我们将字符串作为输入一样作为例子:scanf("%[^\n]",&str);
答案 0 :(得分:1)
答案由BLUEPIXY提供了很好的代码。在这里,我们将输入视为一对。
它将是一对数字和空格,或者它将是一对数字和换行符。
示例:2 3 4
因此,在此输入中,我们会成对使用,例如 - “2 ”,“3
”和“4
\n
”。
当我们遇到\n
时,我们会停止无限循环。代码在这里:
#include <stdio.h>
int main(void){
int n;
scanf("%d", &n);
while(n--){
int v, sum = 0;
while(1){
char ch = 0;
scanf("%d%c", &v, &ch);
sum += v;
if(ch == '\n' || ch == 0)
break;
}
printf("%d\n", sum);
}
return 0;
}
输入:
3
1 6 7
2 7 3 4
2 1
输出:
14
16
3