提高项目13-成绩处理 函数版
来源:互联网 发布:什么是大数据概念股 编辑:程序博客网 时间:2024/04/29 06:26
任务和代码:在数组score中将要存储某小组C程序设计的成绩,请完成下面的处理:
(1)输入小组人数及成绩,要保证成绩在0-100之间;
(2)输出该小组的最高成绩、最低成绩、平均成绩;
(3)输出考得最高成绩和最低成绩的同学的人数;
(4)输出考得最高成绩和最低成绩的同学的学号(设数组下标即学号,可能有相同的成绩)。
(5)(选做)求出所有同学成绩的标准偏差,标准偏差公式为,其中为样本(即某同学成绩),为均值(前面已经求出),N为样本数目;
提示1:可以采用“渐进式”策略,实现一个功能后调试通过,再实现下一个功能。
提示2:界面参考见图
(1)输入小组人数及成绩,要保证成绩在0-100之间;
(2)输出该小组的最高成绩、最低成绩、平均成绩;
(3)输出考得最高成绩和最低成绩的同学的人数;
(4)输出考得最高成绩和最低成绩的同学的学号(设数组下标即学号,可能有相同的成绩)。
(5)(选做)求出所有同学成绩的标准偏差,标准偏差公式为,其中为样本(即某同学成绩),为均值(前面已经求出),N为样本数目;
提示1:可以采用“渐进式”策略,实现一个功能后调试通过,再实现下一个功能。
提示2:界面参考见图
/*文件名:main.c作者:小风景完成日期:2016.6.28问题描述:在数组score中将要存储某小组C程序设计的成绩,请完成下面的处理:(1)输入小组人数及成绩,要保证成绩在0-100之间;(2)输出该小组的最高成绩、最低成绩、平均成绩;(3)输出考得最高成绩和最低成绩的同学的人数;(4)输出考得最高成绩和最低成绩的同学的学号(设数组下标即学号,可能有相同的成绩)。程序输出:*/#include <stdio.h>#include <math.h>int Invalid(int score);void ComputeScore(int score[50],int num);void MaxAndMinStudentNum(int score[50],int num);void StanderValue(int score[50],int num);int iMax = 0;int iMin = 100;float aveg;int main(){ int score[50]; //保存成绩的数组,不会超过50名 int num,i; //小组人数 printf("小组共有多少名同学?"); scanf("%d", &num); printf("请输入学生成绩:\n"); //输入num名同学的成绩 for(i = 0; i < num;i++) { printf("输入第%d为同学的成绩:",i); scanf("%d",&score[i]); if(Invalid(score[i])) { printf("输入成绩超出范围,请重新输入!\n"); i--; continue; } } //求出并输出最高成绩、最低成绩和平均成绩 ComputeScore(score,num); //求出并输出考得最高成绩和最低成绩人数以及学号 MaxAndMinStudentNum(score,num); //求出并输出标准偏差 StanderValue(score,num); return 0;}/*函数功能:验证输入的成绩是否有效返回值:返回1表示无效,返回0表示有效*/int Invalid(int score){ int result = 0; if((0 >score) || (100 < score)) { result = 1; } return result;}/*函数功能:找到最高分,最低分,计算平均分返回值:无*/void ComputeScore(int score[50],int num){ int sum = 0; int i = 0; for(i = 0;i < num;i++) { if(iMax < score[i]) { iMax = score[i]; } if(iMin > score[i]) { iMin = score[i]; } sum += score[i]; } aveg = sum / num; printf("最高成绩为:%d,最低成绩为:%d,平均成绩为:%.2f\n",iMax,iMin,aveg);}/*函数功能:输出最高分人数和学号,最低分人数和学号返回值:无*/void MaxAndMinStudentNum(int score[50],int num){ int i = 0; int Max_num = 0; //最高分的人数 int Min_num = 0; //最低分的人数 //找出最高分人数,最低分人数、学号 for(i = 0;i < num;i++) { if(iMax == score[i]) { Max_num++; } if(iMin == score[i]) { Min_num++; } } //输出最高分人数,学号 printf("取得最高成绩%d分共%d人,他们的学号是:",iMax,Max_num); for(i = 0;i < num;i++) { if(iMax == score[i]) { printf("%d ",i); } } printf("\n"); //输出最低分人数,学号 printf("取得最低成绩%d分共%d人,他们的学号是:",iMin,Min_num); for(i = 0;i < num;i++) { if(iMin == score[i]) { printf("%d ",i); } } printf("\n");}/*函数功能:输出标准偏差返回值:无*/void StanderValue(int score[50],int num){ int i = 0; float temp = 0; float S = 0; float sum = 0; for(i = 0;i < num;i++) { temp = score[i] - aveg; sum += temp * temp; } S = sqrt(sum / (num - 1)); printf("标准差值为:%.4f",S);}
程序运行结果:
总结:通过j将题目中的每一个小条件划为一个模块,利用专用的算法完成其功能,然后在main函数中调用完成整体功能。
0 0
- 提高项目13-成绩处理 函数版
- 提高项目22-成绩处理函数版 (参数)
- 第13周项目3-成绩处理函数版
- 第13周项目3成绩处理函数版
- 第13周项目3-成绩处理函数版
- 第13周项目3 -成绩处理函数版
- 第13周项目3-成绩处理函数版
- 第13周项目3-成绩处理函数版
- 第13周 项目3-成绩处理函数版
- 第13周项目3-成绩处理函数版
- 第13周项目3-成绩处理函数版
- 13周项目3.。。成绩处理函数版
- 第13周项目3成绩处理(函数版)
- 项目3成绩处理函数版
- 第十三周项目成绩处理函数版
- 项目三-成绩处理函数版
- 成绩处理函数版
- 成绩处理函数版
- 关于分布式的一些理解和认识
- handler机制的原理——图解
- iOS 项目中添加字体库
- Android开发技巧:像QQ一样输入表情图像
- 万物的解释 —— 微波炉的工作原理
- 提高项目13-成绩处理 函数版
- Android自定义ScrollView实现一键置顶功能
- listview设置计算item的高度 获取listview的高度
- 编程珠玑笔记2
- 268. Missing Number
- 剑指offer|平衡二叉树
- poi操作ppt,XSLFTableCell.setText报错:java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
- Scala学习笔记(四)----private的访问权限
- Android BottomSheet:以选取图片为例(2)