免费预览已结束,剩余19页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
随机分组通信软件基础答辩,By三枚铜钱94keyboard,题目:,对全班学生进行随机分组;,1,分析问题,2,确定框架,3,实现程序,1,分析问题,1.要求任意输入一组班级学生数据;2.要求任意输入确定组数;3.要求分组学生随机分配;4.能够正确显示分组结果;,1,分析问题,可添加其他附加功能,核心思路通过按学生名单依次编号,然后随机打乱编号重新编号,再按照每组人数依次截取来达到任意分组,1,分析问题,13253147,截取,1.建立文件FILE可以读取班级学生等数据;2.scanf输入组数;3.产生不重复的任意数rand(),1,方案思路,完善情况,1.如果输入组数大于人数,重新输入2.如果不满意分组情况,可以重新输入组数,1,方案思路,2,确定框架,2,确定框架,主函数,函数structstudent*GetData();,fp=fopen(students.txt,r);,导入,srand(unsigned)time(0);,structstudent*Head;,While循环,开始,fp=fopen(students.txt,r);,t=0;m=0;i=0;,#include#include#includeintStudent=0;structstudent*GetData();,fscanf读取学生信息stui.Name,stui.Snum,Student=i;,!feof(fp),1,i+;,导入txt文件数据,并计算总人数,0,intm=0,r,j,Group;intMark100;intMark1100;structstudent*Head;srand(time(NULL);Head=GetData();,i=0;,iStudent,Marki=i;i+;,Y,N,i=0;,iStudent,Y,N,r=rand()%(Student-i);Mark1m+=Markr;,j=r,jStudent,Y,Markj=Markj+1;j+;,N,i+;,编号及其打乱,charch;,printf(“n一共有%d位学生,请输入你需要分的组数:,Student);输入组数Group,m=0;,Group0,b=0,余数k=Student%Group;,Y,N,printf(“要分的组数大于人数或小于等于零,请重新输入:);,bGroup,printf(“n第%d组);b+;,Y,N,printf(“如果想重新分组请按1并确认或者按其它键退出程序:);,输入ch=1,Y,结束,N,n=0,n0,printf(t%-8s%sn,HeadMark1m.Name,HeadMark1m.Snum);m+;,Y,N,按人数截取并显示,3,实现程序,#include#include#includeintStudent=0;structstudent*GetData();structstudentcharName20;charSnum20;,/时间函数time()/函数getData()将键盘输入的一行任意个数以空格分隔的数值数据读到一个数组中。(提示:可事先输入数据的个数.getData()函数应返回2个值,一个是存放输入的一组数的堆内存首地址,另一个是数据的个数),structstudent*GetData()/*导入文件的函数*/inti;structstudentstudents100;FILE*fp;fp=fopen(students.txt,r);printf(导入学生数据:nn);for(i=0;!feof(fp);i+)fscanf(fp,%s%s,studentsi.Name,studentsi.Snum);printf(t%-8s%sn,studentsi.Name,studentsi.Snum);Student=i;returnstudents;,文件结束时feof(fp)的值为1;!feof(fp)的值为0就结束读取文件/表示从文件中读取一个字符串放到字符串数组里中去/计算总人数/返回结构体数组的首地址,intm=0,Group,i,r,n,k,b;intMark100;intMark1100;structstudent*Head;srand(time(NULL);Head=GetData();for(i=0;iStudent;i+)/*给小组的每一个人按原顺序编号*/Marki=i;for(i=0;iStudent;i+)/*打乱编号*/r=rand()%(Student-i);Mark1m+=Markr;for(intj=r;jStudent;j+)Markj=Markj+1;,/structstudent*head表示参数的student结构体的指针类型head,head表示头指针,也就是指向student链表中第一个节点/srand是产生随机数的种子,调用rand()函数时,保证每次随时间不同产生的随机数不一样/保证随机取过的数不再出现,charch;doprintf(n一共有%d位学生,请输
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 IEC 60153-2:2025 EN Hollow metallic waveguides - Part 2: Relevant specifications for ordinary rectangular waveguides
- 【正版授权】 ISO/TS 8100-10:2025 EN Lifts for the transport of persons and goods - Part 10: Building Information Modelling
- 分包协议总包协议书
- 河南鹤壁市淇滨区招考事业单位专业技术人员易考易错模拟试题(共500题)试卷后附参考答案
- 教育部做好2025届全国普通高校毕业生就业创业工作易考易错模拟试题(共500题)试卷后附参考答案
- 广西壮族自治区事业单位联考招聘易考易错模拟试题(共500题)试卷后附参考答案
- 核对社保基数协议书
- 广州市天河区体育局2025年下半年招考合同制工作人员易考易错模拟试题(共500题)试卷后附参考答案
- 占用资质中标协议书
- 杀菌锅销售合同范本
- 2025年青少年航天知识竞赛真题卷及答案
- 2025年大学《传播学-传播研究方法》考试备考题库及答案解析
- 2025年压疮护理指南
- 按摩行业服务礼仪培训
- 预应力管桩施工培训
- DB62T 3130-2017 公路沥青路面碎石封层设计与施工技术规范
- 知道智慧网课《科技伦理》章节测试答案
- 机动车维修企业质量信誉考核档案
- 制造商授权函格式英文版
- 超市消防安全检查表
- 高建华用人文化
评论
0/150
提交评论