从键盘输入一个班(全班最多不超过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语言-数组-读入学生信息统计各分数段人数并打印相关推荐

  1. 分数段统计函数c语言,Excel 五个函数统计学生期末考试分数段

    考试结束,老师们都要对学生的考试成绩进行分析.各分数段人数的统计是其中一项必做的工作.在Excel中,怎样快速准确地统计分数段人数呢?以下的方法也许对你有所帮助. 先看看原始的学生成绩表.五门功课的成 ...

  2. 用函数统计各分数段人数c语言,如何使用Excel函数统计各或分数段的人数(五种方法).doc...

    Excel教程:妙用Excel五个函数统计学生期末考试分数段 考试结束,老师们都要对学生的考试成绩进行分析.各分数段人数的统计是其中一项必做的工作.在Excel中,怎样快速准确地统计分数段人数呢?以下 ...

  3. 用函数统计各分数段人数c语言,如何使用Excel函数统计各分数段的人数(五种方法)...

    如何使用Excel函数统计各分数段的人数(五种方法),对老师很有用哦. Excel教程:妙用Excel五个函数统计学生期末考试分数段 考试结束,老师们都要对学生的考试成绩进行分析.各分数段人数的统计是 ...

  4. Excel下的数据挖掘:学生成绩统计分析实战之统计分数段人数

    第2章 统计分数段人数 2.1 利用数据透视数据表统计分数段 实例2-1 1.操作步骤 2.2利用countifs函数统计各分数段人数 * 实例2-2 2.3用其它函数统计分数段人数    对成绩进行 ...

  5. 计算机中及格人数怎么算,在excel中如何计算及格率和优秀率及统计各分数段人数...

    <在excel中如何计算及格率和优秀率及统计各分数段人数>由会员分享,可在线阅读,更多相关<在excel中如何计算及格率和优秀率及统计各分数段人数(14页珍藏版)>请在人人文库 ...

  6. 计算机成绩统计优秀率,在excel中如何计算及格率和优秀率及统计各分数段人数.doc...

    在excel中如何计算及格率和优秀率及统计各分数段人数.doc 在excel中如何计算及格率和优秀率 在excel中如何计算及格率和优秀率 A3=85 A4=23 A5=80 =COUNTIF(A2: ...

  7. 计算机各分数段人数,Excel中求优分率、及格率及各分数段人数.doc

    Excel中求优分率.及格率及各分数段人数 Excel中求优分率及格率及各分数段人数 每次考试,我们都要对考试情况作分析,所分析的项目包括有参考班级,参考人数.平均分,合格人数.合格率.优秀人数.优秀 ...

  8. 在Excel中使用FREQUENCY函数统计各分数段人数

    用Excel怎样统计出学生成绩各分数段内的人数分布呢?很多文章都推荐使用CountIF函数,可是每统计一个分数段都要写一条函数,十分麻烦.例如, 要在C58:C62内统计显示C2:C56内小于60分. ...

  9. sql统计各分数段人数示例

    经常需要进行数据统计分析,可以结合sql语句中的sum记和.case分类来实现分类统计. 例如统计各分数段人数.90-100分数段内的标记为A,80-89分数段内的标记为B,70-79分数段内的标记为 ...

最新文章

  1. matepad和鸿蒙,爆料称华为MatePad 2系列平板有三个版本:预装鸿蒙OS
  2. Vue项目如何提高效率?大厂2大实践总结告诉你
  3. 我是这样用extern的...
  4. 机器视觉技术在表面缺陷检测方面的发展趋势
  5. Jenkins自动化CI CD流水线之8--流水线自动化发布Java项目
  6. linux下mysql 有双机_在Linux环境下配置mysql cluster双机集群
  7. mysql mof提权原理_[原创]WEB安全第六章提权篇12 mof提权
  8. SpringFramework核心技术一(IOC:命名bean)
  9. Linux命令解释之df
  10. MSCRM与MS人立方关系的集成
  11. 宝塔更换域名_搭建小程序之BT宝塔面板的操作使用教程
  12. Windows update 注册表项
  13. Docker-compose编排MySQL+Nacos+Seata
  14. Discuz app打包app上架appstore小技巧
  15. 【uView】picker 地区选择
  16. Day17:web前端开发面试题
  17. 珞石(ROKAE)机械手简单的编程
  18. resnet50结构图
  19. 店梯erp供应链模块有什么?
  20. bandicam屏幕录制

热门文章

  1. 头条号想过新手,但指数却一直达不到650,该怎么过新手?
  2. 苹果企业签名独立、非独立什么意思?
  3. Nginx之正则表达式、location匹配简介以及rewrite重写
  4. java steam 使用指南-------groupingBy进阶用法
  5. 22一战上岸首师大电子信息经验分享|低成本获得大收益|电子信息
  6. 如何清除win10右下角输入法图标?
  7. ceph web监控管理平台calamari
  8. 【MFC】MFC修改菜单名后不更新问题
  9. java浮点数计算程序_计算器程序.可以准确进行浮点数运算
  10. 07-20210305在WIN10下通过USB口给华为海思Hi3516DV300刷机(鸿蒙系统)