黑马程序员技术交流社区

标题: 在指定范围内产生指定个数的随机数大家给个参考 [打印本页]

作者: guojingjing888    时间: 2016-6-4 21:17
标题: 在指定范围内产生指定个数的随机数大家给个参考
#include <stdio.h>
#include <stdlib.h>


int main()
{
//定义一个数组用于存储1-33范围的整数并初始化
    int arr1[33] = {0};
    for (int i= 0;i < 33;i++)
        arr1[i] = i + 1;
//定义一个数组用于存储产生该范围不重复的随机数
    int arr2[6] = {0};
    for (int i = 0;i < 6 ;i++)
    {
        int num = arc4random_uniform(33-i) ;
//产生的随机数存储到指定的数组中
        arr2[i] = arr1[num];
//该范围产生过的随机数移到数组的末端下次就不会出现该数
        int temp = arr1[num];
        arr1[num] = arr1[32-i];
        arr1[32-i] = temp;
         }
//    遍历打印
    for (int i = 0;i < 6;i++)
        printf("%d\n",arr2[i]);
    return 0;
}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2