欢迎来到天天文库
浏览记录
ID:51428545
大小:99.50 KB
页数:39页
时间:2020-03-24
《程序设计与问题求解下实验答案.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验数组、结构体和函数综合编程练习1.学生成绩统计从键盘输入一个班(全班最多不超过30人)学生某门课的成绩,当输入成绩为负值时,输入结束,分别实现下列功能:(1)统计不及格人数并打印不及格学生名单;(2)统计成绩在全班平均分及平均分之上的学生人数,并打印这些学生的名单;(3)统计各分数段的学生人数及所占的百分比。注:将成绩分为六个分数段,60分以下为第0段,60~69为第1段,70~79为第2段,80~89为第3段,90~99为第4段,100分为第5段。编程要求:1.较好的用户输入输出提示信息2.使用子函数来实现上述各个功能,并且要使用结构体数组来实现
2、,该结构体中包括学生学号和成绩3.最好不要使用全局变量#include#defineARR_SIZE30typedefstructtagStudent{longnum;//学生学号floatscore;//学生分数}Student;intReadScore(Studentstu[]);intGetFail(Studentstu[],intn);floatGetAver(Studentstu[],intn);intGetAboveAver(Studentstu[],intn);voidGetDetail(Studentstu[],int
3、n);main()..{intn,fail,aboveAver;Studentstu[ARR_SIZE];printf("Pleaseenternumandscoreuntilscore<0:");n=ReadScore(stu);printf("Totalstudents:%d",n);fail=GetFail(stu,n);printf("Failstudents=%d",fail);aboveAver=GetAboveAver(stu,n);printf("Aboveaverstudents=%d",aboveAver);GetD
4、etail(stu,n);}/*函数功能:从键盘输入一个班学生某门课的成绩及其学号当输入成绩为负值时,输入结束函数参数:存放学生信息的Student结构体数组函数返回值:学生总数*/intReadScore(Studentstu[]){inti=0;scanf("%ld%f",&stu[i].num,&stu[i].score);while(stu[i].score>=0){i++;scanf("%ld%f",&stu[i].num,&stu[i].score);}returni;}/*函数功能:统计不及格人数并打印不及格学生名单函数参数:存放学生信息
5、的Student结构体数组整型变量n,存放学生总数函数返回值:不及格人数*/intGetFail(Studentstu[],intn){inti,count;..printf("Fail:number--score");count=0;for(i=0;i6、生总数函数返回值:平均分*/floatGetAver(Studentstu[],intn){inti;floatsum=0;for(i=0;i7、er(stu,n);printf("aver=%f",aver);..printf("Aboveaver:number--score");count=0;for(i=0;i=aver){printf("%ld------%.0f",stu[i].num,stu[i].score);count++;}}returncount;}/*函数功能:统计各分数段的学生人数及所占的百分比函数参数:存放学生信息的Student结构体数组整型变量n,存放学生总数函数返回值:无*/voidGetDetail8、(Studentstu[],intn){inti,j,stuLevel[6];for(i=0;
6、生总数函数返回值:平均分*/floatGetAver(Studentstu[],intn){inti;floatsum=0;for(i=0;i7、er(stu,n);printf("aver=%f",aver);..printf("Aboveaver:number--score");count=0;for(i=0;i=aver){printf("%ld------%.0f",stu[i].num,stu[i].score);count++;}}returncount;}/*函数功能:统计各分数段的学生人数及所占的百分比函数参数:存放学生信息的Student结构体数组整型变量n,存放学生总数函数返回值:无*/voidGetDetail8、(Studentstu[],intn){inti,j,stuLevel[6];for(i=0;
7、er(stu,n);printf("aver=%f",aver);..printf("Aboveaver:number--score");count=0;for(i=0;i=aver){printf("%ld------%.0f",stu[i].num,stu[i].score);count++;}}returncount;}/*函数功能:统计各分数段的学生人数及所占的百分比函数参数:存放学生信息的Student结构体数组整型变量n,存放学生总数函数返回值:无*/voidGetDetail
8、(Studentstu[],intn){inti,j,stuLevel[6];for(i=0;
此文档下载收益归作者所有