求助:如何在一个数组随机取不同的一系列数

如题所述

第1个回答  2017-01-30
c 程序如下
(1)确定数组大小 N
(2)在数组下标范围内的值 中 产生随机数
(3)用它做下标,取数。
#include<stdio.h>
int main( )
{
float a[50];
int i;
int N,n=1;
for (i=0;i<50;i++)a[i]=i+1;
N = sizeof(a)/sizeof(float); // 数组大小确定
printf("input n\n");
scanf("%d",&n); //取几个数
for (i=0;i<n;i++) printf("%g ", a[rand()%N]); //输出 系列
return 0;
}
第2个回答  2017-01-30
随机生成数组下标,取出该下标对应元素,然后标记该位置元素,如果下次再遇到就重新生成下一个随机数。