您好我想知道有没有一种方法来存储randnumber而不提示用户输入。在此示例中,我们希望用户在数组storerand
中存储16个randnumbers,而不会提示用户输入randnums,例如:
#include<stdio.h>
#include<stdlib.h>
void main() {
int randnum;
int i=0;
int storerand[16]; // storing randnumbers
randnum=rand();
while(i <16){
storerand[i]=randnum; // why is this not storing 16 rand number how can i store 16 randnumbers
i++;
}
return 0;
答案 0 :(得分:1)
在C中生成随机数的简便方法是使用rand()
附带的<stdlib.h>
函数。请注意,如果您不使用时间库播种,则每次运行程序时都会收到相同的随机数。
#include <stdlib.h>
#include <time.h>
int main (void) {
//Uses system time to seed a proper random number.
srand(time(NULL));
//rand() generates a random integer
int a = rand();
//Use mod to restrict range:
int b = rand()%5; //random integer from 0-4
return 0;
}
您还需要确保在while循环中增加索引i。
while(i < 16) {
storerand[i] = rand();
i++;
}
答案 1 :(得分:1)
您在此处使用随机值初始化randnum
:
randnum=rand();
然后运行循环将其值放入数组的每个插槽中。这意味着您将相同的值放入每个广告位。
while(i <16){
storerand[i]=randnum;
i++;
}
解决方案是每次循环调用rand()
:
for( i = 0; i < 16; i++ ) {
storerand[i] = rand();
}