gpt4 book ai didi

c - 如何使用 for 循环在 C 中加载最多 10,000 个数字的数组?

转载 作者:行者123 更新时间:2023-11-30 19:46:48 24 4
gpt4 key购买 nike

这就是我到目前为止所拥有的。我的随机数生成器可以工作,但我不确定如何将用户想要的数字加载到数组中。它还会检查以确保输入的数字多于 2 个且少于 10,000 个。

#include <stdio.h>

int randu(int randoms);

int main (int argc, char *argv[]) {
int numsor;
int randoms[];
int x=0;

if (argc == 1){
printf("How many numbers do you wish to sort? \n");
scanf("%d", &numsor);

}
if (argc == 2){
sscanf(argv[1], "%d", &numsor);
}

if (argc > 2){
printf("how many numbers do you wish to sort? \n");
scanf("%d", &numsor);
}
while (numsor<2 || numsor>10000){
if (numsor < 2){
printf("Error please enter a number more than 2. \n");
}
else{
printf("Error please enter a number less than 10,000. \n");
}


scanf("%d", &numsor);
}


}


int randu(int numsor){
static int seed=17;
seed=(25179*seed+13849)%65536;
return seed;
};

这正是我应该使用的伪代码。

编写一个程序,允许用户生成任意数量的随机数(最多10,000),将它们按升序排序,并打印排序后的数字。您必须使用数组来存储数字,并使用子例程来生成数字并对其进行排序。您必须确保用户选择至少 2 个数字但不超过 10,000 个。用户希望排序的数字数量可能来自命令行,如果不是,则应提示用户。排序后的输出必须位于一行上,并用一个空格分隔。

主要的伪代码:

如果用户在命令行输入要生成和排序的数字数量

o 转换该数字并将其分配给适当的变量  否则

o 询问用户他们希望生成和排序多少个数字

o 将输入读入适当的变量

当用户输入的数字数量小于2或大于10000时

o 显示错误消息

o 询问他们希望生成多少个数字并进行排序 o 阅读输入

----这就是我的问题开始的地方。------

使用for循环将指定数量的随机数加载到数组中

调用冒泡排序器(传递数组和其中的项目数)

使用 for 循环打印排序后的数组,从第一项到最后一项。

int randu(void);
Definitions:
int randu(){
static int seed= 17;
seed = (25179*seed+13849)%65536; return seed;
}
void bubble(int *, int);
void bubble(int a[], int n) { int i, j;
for (i = 0; i < n-1; i++) for (j = n-1; i < j; j--)
if (a[j-1] > a[j]) swap(&a[j-1],&a[j]);
void swap(int *, int *);
void swap(int *a, int *b) { int temp;
temp = *a; *a = *b; *b = temp;
}
}

最佳答案

只需这样做:int* randoms = (int *)malloc(sizeof(int)*numsor);//分配整数

然后使用for(int i = 0; i < numsor; i++){ randoms[i] = 在此生成随机数;}

关于c - 如何使用 for 循环在 C 中加载最多 10,000 个数字的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23146791/

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