通过Scanf-C输入多个值

时间:2013-12-26 03:04:31

标签: c

我正在尝试解决SPOJ问题。我被困在这里。

对于输入,它会要求我将以下内容作为输入

下一行包含n个元素,ai(1< = i< = n)以空格分隔。

我可以使用循环并输入用户通过scanf单独给出的每个元素。但根据问题标准,我假设我们需要在一行中立即通过scanf获取输入。像scanf(“%d%d%d”,& a1& a2 e.t.c)。

但范围超过10 ^ 6,我不知道如何通过scanf在一行中动态输入多个值。

2 个答案:

答案 0 :(得分:1)

你可以像你说的那样运行你的迭代,因为scanf并不关心什么类型的空格分隔整数输入。

所以:for (i = 0; i < n; ++i) scanf("%d", &array[i]);适用于以下类型的输入:

3 2 1 2 3 8

以及类型

3
2
1
2
3
8

答案 1 :(得分:0)

无论您是否在一行中输入数字,这都将起作用,因为scanf忽略了空格

int arr[1000001];  // Take an array to store the inputs

for(i=1;i<=n;i++)
{
    scanf("%d",&arr[i]);
}