【发布时间】:2017-04-24 09:10:23
【问题描述】:
对不起,如果我的英语很差。我想要做的是让 scanf 在同一行输入。例如Enter value: 1 6 8 9 4 1 2 8 5 并用空格分隔。然后将数字存储在数组中。这是我的代码:
#include <stdio.h>
int main(void)
{
int a[10], smallest, i;
printf("Random\n");
for (i = 0; i < 9; i++)
scanf("%d", &a[i]);
smallest = a[0];
for (i = 0; i < 9; i++)
{
if (a[i] < smallest)
{
smallest = a[i];
}
}
printf("\nSmallest Element : %d\n", smallest);
}
感谢您的帮助!
编辑:我试图让用户输入 9 个数字,这些数字使用 scanf 存储在数组中,但是当输入数字时,scanf 会换行,例如:
> 5
> 6 等等我想要的是让他们在同一行输入数字,中间有一个空格,就像这样Enter value: 1 6 8 9 4 1 2 8 5
【问题讨论】:
-
你遇到了什么问题?
-
for (i = 0; i < 9; i++)-->for (i = 0; i < 10; i++) -
你的问题需要解释什么
-
用户将输入值并按 Enter 键终止输入。按 Enter 后,终端将向程序提供该行。程序现在处理该行,就像你正在做的那样(但可能使用
" %d"格式 - 注意%d之前有一个空格@ -
您的程序将按照您想要的方式进行输入。如果你输入数字,空格分隔,它已经可以了。
%d修饰符忽略 ' '(空格)和 '\n'(新行)