0

我正在编写一个算法,我最多接受 10 个输入。允许用户输入任意数量的输入。问题是我不能告诉用户最后输入你必须输入 -1 或其他任何东西。我需要找到一种机制来做到这一点。有人对此有什么建议吗?

4

2 回答 2

1

scanf()函数返回它成功写入的对象数。使用该值!

int n, a[10];
n = scanf("%d%d%d%d%d%d%d%d%d%d", a+0, a+1, a+2, a+3, a+4, a+5, a+6, a+7, a+8, a+9);
printf("You entered %d values\n", n);

请注意,对于特定代码段,用户必须使用一些错误值(如“42 13 -100 boo”)或 EOF(“42 13 -100 CTRL+D CTRL+D”)表示输入结束。只需键入 ENTER 没有任何效果:"%d"转换规范会忽略它们。

于 2012-08-09T13:09:31.600 回答
0

伪代码:

get count limit
saturate to 10

start loop (for count-limit times)
scanf
put value to array
end loop

或者:

start loop 
scanf
put value to array
increment counter
check if counter==10 or input is blank then quit
end loop
于 2012-08-09T13:06:09.717 回答