如何用随机数给数组赋值

求举例代码,学习

C语言的随机数函数为rand(), 该函数可以获得一个随机的整数。

所以用随机数给数组赋值的过程,就是把rand()的返回值赋值给数组每个元素的过程。

代码:

int a[10],i;
for(i = 0; i < 10; i ++)
    a[i] = rand();
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-12
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
int main(int argc, char* argv[]) {
int i;
int rndInt[10];
// 设随机数种子,否则每次产生的随机数都一样
srand((int)time(0));
for(i = 0; i < NAME_LEN; i++){
// rand()返回0至RAND_MAX之间的随机数值
rndInt[i] = rand();
}
}

追问

如何限定随机数产生范围,并且允许产生相同大小随机数。我要用这段代码模拟评委打分,去掉一个最高分和一个最低分,再求余下的数平均分。

追答

(上限-下限+1) * rand() /RAND_MAX + 下限
如果是整数,还要转型
(int)((上限-下限+1) * rand() /RAND_MAX) + 下限

本回答被提问者采纳
第2个回答  2013-09-16
#include <stdio.h>
#include <time.h>
#include <stdlib.h>

int main()
{
   int i, arr[10];
   srand(time(NULL));
   for (i = 0; i < 10; ++ i)
   {
   arr[i] = rand();
   }
   for (i = 0; i < 10; ++ i)
   {
   printf("%d\n", arr[i]);
   }
   return 0;
}

相似回答