C语言中在已知数组中产生几个随机数的程序怎么做?跪求大神指教
1个回答
展开全部
你的意思是 从数组里 随机 取出数。对吗?
假定 double 型数组 a[], 有 N 个 元素。现在随机取 n 个数出来。
窍门是 用 rand() % N 得 随机下标,有了下标就有了数。
程序例子如下:
#include <stdio.h>
#include <time.h>
main(){
double a[8]={11,12,-15,-6.9,3,0,16,88.8}; //已知数组
int N=8,n=10,i,j; //N可以大于n, 也可以小于,也可以等于
srand((unsigned)time(NULL)); //随机种子
for (i=0;i<n;i++){
j = rand() % N; // 随机下标计算
printf("%g\n",a[j]); //输出随机数
};
return 0;
}
假定 double 型数组 a[], 有 N 个 元素。现在随机取 n 个数出来。
窍门是 用 rand() % N 得 随机下标,有了下标就有了数。
程序例子如下:
#include <stdio.h>
#include <time.h>
main(){
double a[8]={11,12,-15,-6.9,3,0,16,88.8}; //已知数组
int N=8,n=10,i,j; //N可以大于n, 也可以小于,也可以等于
srand((unsigned)time(NULL)); //随机种子
for (i=0;i<n;i++){
j = rand() % N; // 随机下标计算
printf("%g\n",a[j]); //输出随机数
};
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询