gpt4 book ai didi

c - c语言生成20个随机数

转载 作者:行者123 更新时间:2023-12-02 04:47:54 30 4
gpt4 key购买 nike

#include <stdio.h>
#include <time.h>
int main(int argc,char *argv[])
{

int i;
int array[20];
srand(time(NULL));
for (i=0; i<20; i++)
array[i] = rand()%8999 + 1000;

char *fname = argv[1];
FILE *fp;
fp = fopen(fname,"w");
fwrite(array,sizeof(int),20,fp );

fclose(fp);
return 0;
}

我的程序应该生成 1000 到 9999 范围内的 20 个随机数的序列。我需要创建一个 20 nums 的数组,对其进行排序并传输到在 cmd 行传递的文件...但是,它说 Segmentation故障

最佳答案

您获取随机值的公式也是错误的:

使用这段代码:

rand()%9999 + 1001;

您将从 [1001, 11000] 获取值。当您声明时,您想要的范围是 [1000, 9999]

尝试解决一个更简单的问题,假设来自 [1, 6] 的骰子将是:

rand()%5 + 1

另一个问题是你的 for 循环:

  • 删除 for 循环,您应该没问题。您不需要那个 for 循环来打印数组。检查rewind如果您真的需要做那样的事情,请发挥作用。

关于c - c语言生成20个随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19437621/

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