gpt4 book ai didi

C - 将用户输入扫描到要排序的数组中

转载 作者:太空宇宙 更新时间:2023-11-04 02:03:16 25 4
gpt4 key购买 nike

原谅我,我是一个C编程菜鸟。我需要做的是从标准输入中获取值并将它们存储在一个数组中,该数组稍后将被排序。

用户的输入方法是一次一行输入一个数字(即输入一个数字,按回车键,输入数字,按回车键,等等)。当用户输入完数字后,他们在不提供数字的情况下按 ENTER

我接受值并存储它们的代码如下。您可能会立即看到问题,但我没有看到。

#include <stdio.h>
#define MAX 100

int main()
{
int n, i, array[MAX];

printf("Enter a list of integers\n");

for(i = 0; i <= MAX; ++i){
printf("> ");
if (scanf("%d", &n) == -1)
break;
else
scanf("%d", &n);
array[i] = n;
}

printf("The array is %d", *array);
return 0;
}

下图是程序应该如何运行。我已经有了排序代码,它似乎工作得很好。非常感谢您的帮助。

enter image description here

最佳答案

您可以让它做您想做的事,您只需要进行一些调整。首先,enter 不会返回-1,为了简单起见,您需要输入ctrl+d 来停止输入。完成最后输入后,只需按 ctrl+d。看一看:

#include <stdio.h>
#define MAX 100

int main()
{
int n, i, array[MAX];

printf("Enter a list of integers [ctrl+d] to end\n");

for(i = 0; i <= MAX; ++i){
printf("> ");
if (scanf("%d", &n) == -1)
break;
array[i] = n;
}
puts ("");

int z;
for (z = 0; z < i; z++)
printf("The array is %d\n", array[z]);

return 0;
}

输出:

Enter a list of integers [ctrl+d] to end
> 1
> 2
> 3
> 4
> 5
>
The array is 1
The array is 2
The array is 3
The array is 4
The array is 5

关于C - 将用户输入扫描到要排序的数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23924896/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com