C语言如何把第一个函数中产生的随机数作为第二个函数的输入数组,急求!!!
答案:2 悬赏:60
解决时间 2021-02-22 06:53
- 提问者网友:柠檬香
- 2021-02-21 14:24
C语言如何把第一个函数中产生的随机数作为第二个函数的输入数组,急求!!!
最佳答案
- 二级知识专家网友:一池湖水
- 2021-02-21 14:56
是这个意思吗?
#include
#include
#include
void f1(int a[], int len)
{
int i,j;
srand((int)time(0));
for (i=0; i
{
j = 1 + (int) (100.0*rand() / (RAND_MAX + 1.0));
printf(" %d ", j);
a[i] = j;
}
}
void main()
{
int a[10];
int i;
f1(a, 10);
printf("\n in main:");
for (i=0; i<10; i++)
printf("%d ", a[i]);
printf("\n");
}
#include
#include
#include
void f1(int a[], int len)
{
int i,j;
srand((int)time(0));
for (i=0; i
j = 1 + (int) (100.0*rand() / (RAND_MAX + 1.0));
printf(" %d ", j);
a[i] = j;
}
}
void main()
{
int a[10];
int i;
f1(a, 10);
printf("\n in main:");
for (i=0; i<10; i++)
printf("%d ", a[i]);
printf("\n");
}
全部回答
- 1楼网友:狠傷凤凰
- 2021-02-21 15:32
你在函数里面生成的随机数种子,而计算机运行速度又很快,时间几乎没差别,种子完全一样,生成的随机数当然一样。
改成下面样子就ok了:
voidmain()
{
inti1,i2,i3,i;
srand(time(null));//加到这个位置
i2=suiji();
printf("%d",i2);
i1=suiji();
printf("%d",i1);
}
intsuiji()
{
inta;
intt=1,d=18;
//srand(time(null));
a=rand()%(d-t)+t;
returna;
}
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯