用户登录
用户注册

分享至

用C/C++进行随机分组的实现教程

  • 作者: 八卦八股
  • 来源: 51数据库
  • 2021-09-21

用c/c++进行随机分组的实现教程

/************************
要求将下列名单随机分组:分组要求,随机选择4个人组成一组
输出结果:4个人一行进行输出,每行代表一个组
例如:
许新华  王玉恒  陶小康  王娇娇
盛  开  郑  丹  陈  芳  张  龙
陈梦玉  祝秋培  吴赟鹏  胡光兴
曾从威  边金鹏  陈逸伦  王  琦
刘加封  徐煜清  姚  笛  孔海宇
孙凌霄  王  鹏  王  虎  李  峰
周  波  蒋恺均  徐小蕤  缪  峰
刘江涛  陈  喆  方文倩  崔雅倩
陈  程  陈振宇  李  森  陈志辉
李鸿飞

人名:
曾从威
蒋恺均
刘江涛
崔雅倩
祝秋培
吴赟鹏
李鸿飞
王  虎
缪  峰
张  龙
刘加封
姚  笛
郑  丹
孔海宇
陈逸伦
徐煜清
陈  喆
盛  开
方文倩
边金鹏
陈振宇
陶小康
孙凌霄
王玉恒
王娇娇
许新华
胡光兴
周  波
王  鹏
李鸿飞
陈  程
徐小蕤
李  峰
王  琦
陈梦玉
陈志辉
李  森
陈  芳
**************************/
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main()
{
    const char *name[] =
    {
        "曾从威" ,
        "蒋恺均" ,
        "刘江涛" ,
        "崔雅倩" ,
        "祝秋培" ,
        "吴赟鹏" ,
        "李鸿飞" ,
        "王  虎" ,
        "缪  峰" ,
        "张  龙" ,
        "刘加封" ,
        "姚  笛" ,
        "郑  丹" ,
        "孔海宇" ,
        "陈逸伦" ,
        "徐煜清" ,
        "陈  喆" ,
        "盛  开" ,
        "方文倩" ,
        "边金鹏" ,
        "陈振宇" ,
        "陶小康" ,
        "孙凌霄" ,
        "王玉恒" ,
        "王娇娇" ,
        "许新华" ,
        "胡光兴" ,
        "周  波" ,
        "王  鹏" ,
        "李鸿飞" ,
        "陈  程" ,
        "徐小蕤" ,
        "李  峰" ,
        "王  琦" ,
        "陈梦玉" ,
        "陈志辉" ,
        "李  森" ,
        "陈  芳" ,
    };
    int len = sizeof(name)/sizeof(name[0]);
    printf("len: %d\n",len);
    
    //乱序种子
    srand((unsigned)time(null));
    
    int last = len-1; // 最后一个元素的下标
    int i;
    for(i =0;i < len; i++)
    {
        int index = rand() % len; // 产生一个随机数作为数组下标
        const char *tmp = name[index];
        name[index] = name[last];
        name[last] = tmp;
        last--;
    }
    
    for(i = 0;i< len; i++)
    {
        if(i % 4 == 0)
            printf("\n");
        printf("%12s",name[i]);
    }
    
    printf("\n");
    return 0;
}
软件
前端设计
程序设计
Java相关