版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第18章汇总统计模块的开发本章目录18.1任务说明18.2任务分析18.3任务实施18.4知识点详解18.5项目完善18.1任务说明通过学生成绩管理系统,我们可以方便地
进行学生信息的录入、输出以及查找,但
是除了这些基本功能,有时候我们还需要
知道各个分数段成绩的学生人数、某门课
程及格人数或某门课程的平均分数等等,
而这些问题都属于汇总统计的范畴。因此
我们开发了汇总统计模块来解决这些问题。18.2任务分析“按语文成绩各分数段统计学生的人数”
要求我们统计出语文成绩各分数段的人数,常规的做法是先遍历结构体数组中的数据
元素,并依次判断当前记录的语文成绩所
处的成绩区间,如果当前记录的语文成绩
分数处于某个区间,则该区间的总人数加
一。18.2任务分析(续)本模块的解题思路如图所示:18.3任务实施本模块N-S图如下图所示:汇总统计模块的N-S图18.3任务实施(续)本功能模块的函数实现原型如:int
statistic(stStu
student[],intlength)其中参数student为用于保存待统计学生记录的数组,length为记录个数。struct
student{int
number;
char
name[
20
];float
chinese;float
math;float
english;};#
define
N
10main(
){struct
studentinti,index;stud
[N];intarrayresult[10]={0};printf(“请输入学生信息:\n”);for(i=0;i<N;i++){fflush(stdin);
printf(“学号:”);
scanf(”%d”,&stud
[i].number);printf(“姓名:”);
scanf(”%s”,stud
[i].name);printf(“语文成绩:”);
scanf(”%d”,&
stud
[i].chinese);printf(“数学成绩:”);scanf(”%d”,&
stud
[i].math);printf(“英语成绩:”);scanf(”%d”,
&
stud
[i].english);}for(i=0;i<N;i++){index=stud[i].chinese/10;arrayresult[index]++;}for(i=0;i<10;i++)
printf(“%d分到%d分的人数为%d\n”,i*10,i*10+9,arrayresult[i]);}18.5项目完善本模块以“按学生的总分成绩进行排序”为例进行开发,实现的主要步骤如下:1、根据当前记录计算出当前记录的学生成绩总分;2、选择一种排序算法如冒泡法、选择法等对总分进行排序。下面以选择排序法为例,分析本模块的实现思路,其对应的N-S图如下:18.5项目完善(续)按总成绩排序模块N-S图#include
"stdio.h"#define
N
5struct
student{char
name[20];int
chinese;int
math;int
english;int
avg;};••main(){inti,n;structstudentstud[N],t;•••••••••for(i=0;i<N;i++){printf("请输入第%d学生姓名:",i+1);scanf("%s",stud[i].name);printf("请输入语文成绩:");
scanf("%d",&stud[i].chinese);printf("请输入数学成绩:");scanf("%d",&stud[i].math);printf("请输入英语成绩:");
scanf("%d",&stud[i].english);}for(i=0;i<N;i++)•stud[i].avg=(stud[i].chinese+stud[i].math+stud[i].english)/3;•for(n=N;n>1;n--)for(i=0;i<n-1;i++)if(stud[i]>stud[i+1]){t=stud[i];stud[i]=stud[i+1];stud[i+1]=t;}••printf(“排序后学生的信息:");for(i=0;i<N;i++){
printf(“第%d名学生的成绩:",i+1);printf("姓名:%s\n",stud[i].name);printf("语文:%d\n",stud[i].chinese);printf("数学:%d\n",stud[i].math);printf(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 银行工作总结勇攀高峰无往不胜
- 金融行业管理顾问工作心得
- 互联网金融行业销售工作总结
- 体验式餐厅设计师的文化体验与美食创新
- 家居用品采购心得体会
- 骨科护士长的工作总结
- 《消化道常见症状》课件
- 《健康食品排行榜》课件
- 2021年河北省张家口市公开招聘警务辅助人员辅警笔试自考题1卷含答案
- 2022年四川省自贡市公开招聘警务辅助人员辅警笔试自考题2卷含答案
- 无人机技术在电信领域的应用
- 2023-2024学年四川省南充市七年级(上)期末数学试卷(含解析)
- 氮化硅的制备性质及应用课件
- 物业多种经营问题分析报告
- 浙江省宁波市镇海区2023-2024学年九年级上学期期末数学试题(含答案)
- 员工健康状况筛查方案
- 执行 如何完成任务的学问
- 6.2《青纱帐-甘蔗林》【中职专用】(高教版2023基础模块下册)
- 二年级上每日一练(竖式+口算+应用题)已排版直接打印
- 臀部恶性黑色素瘤的个案护理
- 小学英语新思维朗文2A知识清单总结期末复习资料
评论
0/150
提交评论