1.不写srand(),那么默认是以1为基准数。

2,随机产生指定范围的一个数:

总结:假如是要产生 0~50 的随机数,就写 rand()%51.

           假如要产生 50~100的随机数,那么先产生0~50的,然后再加上50

           假如要产生70~100的随机数,就写rand()%31,先产生0~30的随机数,然后再加上70。

以上就是产生指定范围内的一个随机数的写法!(用的较多)

随机产生指定一组数中的一个?!

 假如我有一组数,我要随机的产生这组数中的一个,我产生的随机数只能是这些数中的一个。

思路:将这些数装到一个数组中,

#include <stdio.h>
#include <stdlib.h>
#include <time.h>    

int main(void)
{
    srand((unsigned int) time(NULL));//当前系统时间 
    int i=0,a;
    int arr[10] = { 1,23,455,665,3356,776,773,1234,654,3445 };
    while (i <= 20)
    {
        a = rand() % 10;//下标是0~9,所以对10求余。
        printf("%d\n", arr[a]);
        i += 1;
    }

    

    system("pause");
    return 0;
}    

在一组数中随机得到一个数的这样的算法:把数先放到数组中,然后随机取下标

 posted on 2019-03-25 09:58  轻舞飞扬的饼  阅读(534)  评论(0编辑  收藏  举报