用户在运行时动态输入多个输入

如何在运行时通过c中的用户选择获取多个整数输入。 这里输入的第一行是测试用例的数量。 然后我在这种情况下计算输入数字的总和。

测试用例:

输入

3 1 6 7 2 7 3 4 2 1 

输出:

 14 16 3 

我们可以用这种方式修改 scanf(),以便它可以处理这个动态输入。

我不能将该行作为字符串输入,然后将它们分成数字。

我们可以使用空格和\ n来决定数字,就像我们将字符串作为输入一样作为例子: scanf("%[^\n]",&str);

答案由BLUEPIXY提供了很好的代码。 在这里,我们将输入视为一对。

它将是一对数字和空格,或者它将是一对数字和换行符。

示例: 2 3 4

所以在这个输入中我们成对,比如 – ‘2 ‘,’3 ‘和’4 \n ‘。 当我们遇到\n我们停止无限循环。 这里的代码如下:

 #include  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