c语言程序如何实现分组,c程序-实现随机分组.ppt

c程序-实现随机分组

题目: √ 对全班学生进行随机分组; 1.要求任意输入一组班级学生数据; 2.要求任意输入确定组数; 3.要求分组学生随机分配; 4.能够正确显示分组结果; 核心思路 通过按学生名单依次编号,然后随机打乱编号重新编号,再按照每组人数依次截取来达到任意分组 1.建立文件 FILE 可以读取班级学生等数据; 2.scanf 输入组数; 3.产生不重复的任意数 rand() 完善情况 1.如果输入组数大于人数,重新输入 2.如果不满意分组情况,可以重新输入组数 随机分组 —通信软件基础答辩 By 三枚铜钱94keyboard 1 分析问题 2 确定框架 3 实现程序 1 分析问题 1 分析问题 可添加其他附加功能 1 分析问题 1 3 2 5 3 1 4 7 …… …… 截取 1 方案思路 1 方案思路 2 确定框架 2 确定框架 主函数 函数struct student *GetData(); fp=fopen("students.txt","r"); 导入 srand((unsigned)time(0)); struct student *Head; While循环 开始 fp=fopen("students.txt","r"); t=0; m=0; i=0; #include #include #include int Student=0; struct student *GetData(); fscanf读取学生信息 stu[i].Name,stu[i].Snum Student=i; !feof(fp) 1 i++; 导入txt文件数据,并计算总人数 0 int m=0,r,j,Group; int Mark[100]; int Mark1[100]; struct student *Head; srand(time(NULL)); Head=GetData(); i=0; i0 b=0, 余数k=Student%Group; Y N printf(“要分的 组数大于人数 或小于等于 零,请重新输入:"); b0 printf("\t%-8s%s\n", Head[Mark1[m]].Name,Head[Mark1[m]].Snum); m++; Y N 按人数截取并显示 3 实现程序 #include #include #include int Student=0; struct student *GetData(); struct student { char Name[20]; char Snum[20]; }; //时间函数time() //函数getData() 将键盘输入的一行任意个数以空格分隔的数值数据读到一个数组中。(提示:可事先输入数据的个数.getData()函数应返回2个值,一个是存放输入的一组数的堆内存首地址,另一个是数据的个数) struct student *GetData() /*导入文件的函数*/ { int i; struct student students[100]; FILE *fp;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值