c语言 中 如何在不连续的范围里 取随机数阿

来源:百度知道 编辑:UC知道 时间:2024/06/14 05:42:48
不如 我要在 1 2 5 6 四个数中 取随机数。怎么做到阿 谢谢阿

int array[3]={1,2,5,6};
srand((unsigned)time(NULL));
i=rand()%4;
printf("%d",array[i]);

方法一:产生所需要的最小的值和最大的值之间的随机数,然后用判断一下是否符合要求,不符合的话就舍弃重新取,一直到取到符合要求的为止。
方法二:将这n个数放到一个数组中,然后产生一个[0,n-1]之间的随机数,用它做为下标取数组的对应元素。

把这些数弄成一个数组,比如说a[n],你产生一个n以内的随机数就可以了