我正在写一个算法,我最多输入10个输入。允许用户输入任意数量的输入。问题是我无法告诉用户在最后输入时你必须输入-1或其他任何东西。我需要找到一种机制来做到这一点。有人对此有一些建议吗?
答案 0 :(得分: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"
转换规范会忽略它们。
答案 1 :(得分: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