C语言-数组-读入学生信息统计各分数段人数并打印
从键盘输入一个班(全班最多不超过30人)学生的某门课的成绩,当输入成绩为负值时,输入结束,分别实现下列功能:
统计不及格人数并打印不及格学生名单。
统计成绩在全班平均分及平均分之上的学生人数,并打印这些学生的名单;
统计各分数段的学生人数及所占的百分比。
编程要求
设计新函数统计各分数段的学生人数及所占的百分比。例如:
void GetDetail(float score[], int n);
测试说明
输入学生信息后,以及输出的格式为:
统计不及格人数并打印不及格学生名单,输出的内容为:
统计成绩在全班平均分及平均分之上的学生人数,并打印这些学生的名单,输出的内容为:
统计各分数段的学生人数及所占的百分比,输出的内容为:
注:分隔的空格数量为2个。
#include <stdio.h>
#define ARR_SIZE 30
int NumScore(long num[], float score[]);
int getFailInfo(float score[], long num[], int n);
float getAver(float score[], int n);
int GetAboveAver(long num[], float score[], int n);
void GetSubsection(float score[], int n);int main(void)
{int n,m,aboveAver;float score[ARR_SIZE];long num[ARR_SIZE];printf("Please enter num and score until score<0:\n");n = NumScore(num, score);printf("Total students:%d\n", n);printf("Fail:\n");m = getFailInfo(score,num,n);printf("Fail students = %d\n",m);aboveAver = GetAboveAver(num,score,n);printf("Above aver students = %d\n",aboveAver);GetSubsection(score, n);return 0;
}int NumScore(long num[], float score[])
{int i = 0,count = 0;for(i=0; i<ARR_SIZE; i++){scanf("%ld %f", &num[i], &score[i]);count++;if(score[i] < 0)break;}return i;
}int getFailInfo(float score[], long num[], int n)
{int i,count = 0;printf("number--score\n");for(i=0; i<n; i++){if(score[i] < 60){count++;printf("%ld------%.0f\n",num[i],score[i]);}}return count;
}float getAver(float score[], int n)
{int i;float sum = 0.0;for(i=0; i<n; i++){sum += score[i];}return sum/n;
}int GetAboveAver(long num[], float score[], int n)
{int count = 0;int i;float aver;aver = getAver(score,n);printf("aver = %f\n",aver);printf("Above aver:\n");printf("number--score\n");for(i=0; i<n; i++){if(score[i] > aver){printf("%ld------%.0f\n",num[i],score[i]);count++;}}return count;
}void GetSubsection(float score[], int n)
{int count1,count2,count3,count4,count5,count6;count1=count2=count3=count4=count5=count6=0;int i,stu[6] = {0,0,0,0,0,0,};for(i=0; i<n; i++){if(score[i] < 60)count1++;else if(score[i] < 70)count2++;else if(score[i] < 80)count3++;else if(score[i] < 90)count4++;else if(score[i] < 100)count5++;elsecount6++;}printf(" <60 %d %.2f%%\n",count1,(float)count1/n*100);printf("60--69 %d %.2f%%\n",count2,(float)count2/n*100);printf("70--79 %d %.2f%%\n",count3,(float)count3/n*100);printf("80--89 %d %.2f%%\n",count4,(float)count4/n*100);printf("90--99 %d %.2f%%\n",count5,(float)count5/n*100);printf(" 100 %d %.2f%%\n",count6,(float)count6/n*100);
}
C语言-数组-读入学生信息统计各分数段人数并打印相关推荐
- 分数段统计函数c语言,Excel 五个函数统计学生期末考试分数段
考试结束,老师们都要对学生的考试成绩进行分析.各分数段人数的统计是其中一项必做的工作.在Excel中,怎样快速准确地统计分数段人数呢?以下的方法也许对你有所帮助. 先看看原始的学生成绩表.五门功课的成 ...
- 用函数统计各分数段人数c语言,如何使用Excel函数统计各或分数段的人数(五种方法).doc...
Excel教程:妙用Excel五个函数统计学生期末考试分数段 考试结束,老师们都要对学生的考试成绩进行分析.各分数段人数的统计是其中一项必做的工作.在Excel中,怎样快速准确地统计分数段人数呢?以下 ...
- 用函数统计各分数段人数c语言,如何使用Excel函数统计各分数段的人数(五种方法)...
如何使用Excel函数统计各分数段的人数(五种方法),对老师很有用哦. Excel教程:妙用Excel五个函数统计学生期末考试分数段 考试结束,老师们都要对学生的考试成绩进行分析.各分数段人数的统计是 ...
- Excel下的数据挖掘:学生成绩统计分析实战之统计分数段人数
第2章 统计分数段人数 2.1 利用数据透视数据表统计分数段 实例2-1 1.操作步骤 2.2利用countifs函数统计各分数段人数 * 实例2-2 2.3用其它函数统计分数段人数 对成绩进行 ...
- 计算机中及格人数怎么算,在excel中如何计算及格率和优秀率及统计各分数段人数...
<在excel中如何计算及格率和优秀率及统计各分数段人数>由会员分享,可在线阅读,更多相关<在excel中如何计算及格率和优秀率及统计各分数段人数(14页珍藏版)>请在人人文库 ...
- 计算机成绩统计优秀率,在excel中如何计算及格率和优秀率及统计各分数段人数.doc...
在excel中如何计算及格率和优秀率及统计各分数段人数.doc 在excel中如何计算及格率和优秀率 在excel中如何计算及格率和优秀率 A3=85 A4=23 A5=80 =COUNTIF(A2: ...
- 计算机各分数段人数,Excel中求优分率、及格率及各分数段人数.doc
Excel中求优分率.及格率及各分数段人数 Excel中求优分率及格率及各分数段人数 每次考试,我们都要对考试情况作分析,所分析的项目包括有参考班级,参考人数.平均分,合格人数.合格率.优秀人数.优秀 ...
- 在Excel中使用FREQUENCY函数统计各分数段人数
用Excel怎样统计出学生成绩各分数段内的人数分布呢?很多文章都推荐使用CountIF函数,可是每统计一个分数段都要写一条函数,十分麻烦.例如, 要在C58:C62内统计显示C2:C56内小于60分. ...
- sql统计各分数段人数示例
经常需要进行数据统计分析,可以结合sql语句中的sum记和.case分类来实现分类统计. 例如统计各分数段人数.90-100分数段内的标记为A,80-89分数段内的标记为B,70-79分数段内的标记为 ...
最新文章
- matepad和鸿蒙,爆料称华为MatePad 2系列平板有三个版本:预装鸿蒙OS
- Vue项目如何提高效率?大厂2大实践总结告诉你
- 我是这样用extern的...
- 机器视觉技术在表面缺陷检测方面的发展趋势
- Jenkins自动化CI CD流水线之8--流水线自动化发布Java项目
- linux下mysql 有双机_在Linux环境下配置mysql cluster双机集群
- mysql mof提权原理_[原创]WEB安全第六章提权篇12 mof提权
- SpringFramework核心技术一(IOC:命名bean)
- Linux命令解释之df
- MSCRM与MS人立方关系的集成
- 宝塔更换域名_搭建小程序之BT宝塔面板的操作使用教程
- Windows update 注册表项
- Docker-compose编排MySQL+Nacos+Seata
- Discuz app打包app上架appstore小技巧
- 【uView】picker 地区选择
- Day17:web前端开发面试题
- 珞石(ROKAE)机械手简单的编程
- resnet50结构图
- 店梯erp供应链模块有什么?
- bandicam屏幕录制
热门文章
- 头条号想过新手,但指数却一直达不到650,该怎么过新手?
- 苹果企业签名独立、非独立什么意思?
- Nginx之正则表达式、location匹配简介以及rewrite重写
- java steam 使用指南-------groupingBy进阶用法
- 22一战上岸首师大电子信息经验分享|低成本获得大收益|电子信息
- 如何清除win10右下角输入法图标?
- ceph web监控管理平台calamari
- 【MFC】MFC修改菜单名后不更新问题
- java浮点数计算程序_计算器程序.可以准确进行浮点数运算
- 07-20210305在WIN10下通过USB口给华为海思Hi3516DV300刷机(鸿蒙系统)