成绩处理

来源:互联网 发布:asp.net源码网模板 编辑:程序博客网 时间:2024/04/28 18:32
/*                  02.* Copyright (c) 2012, 烟台大学计算机学院                  03.* All rights reserved.                  04.* 文件名称:test.cpp                  05.* 作者:刘伟丽                06.* 完成日期:2012 年11月29日                  07.* 版本号:v1.0                  08.*                  09.* 输入描述:无                  10.* 问题描述:成绩处理                  11.* 程序输出:处理后的成绩       12.* 问题分析:                 13.* 算法设计:略                  14.*/        #include <iostream>#include<Cmath>using namespace std;int score[50];int num;void input_score();int get_max_score();int get_min_score();double get_avg_score();double get_stdev_score();int count(int );void output_index(int );int main(){int max_score,min_score;cout<<"小组共有多少同学?";cin>>num;cout<<endl<<"请输入同学成绩:"<<endl;input_score();max_score=get_max_score();cout<<endl<<"最高成绩为:"<<max_score<<",共有"<<count(max_score)<<"人。";min_score=get_min_score();cout<<endl<<"最低成绩为:"<<min_score<<",共有"<<count(min_score)<<"人。";cout<<endl<<"平均成绩为:"<<get_avg_score();cout<<endl<<"标准偏差为:"<<get_stdev_score();cout<<endl<<"获得最高成绩的学生(学号)有:";output_index(max_score);cout<<endl<<"获得最低成绩的学生(学号)有:";output_index(min_score);return 0;}void input_score(){int i;for(i=0;i<num;i++)do{cout<<"请输入第"<<i<<"位同学的成绩:";cin>>score[i];}while(score[i]<0||score[i]>100);return;}int get_max_score(){int max=-1,i;for(i=0;i<num;i++)if(max<=score[i])max=score[i];return max;}int get_min_score(){int min=101,i;for(i=0;i<num;i++)if(min>=score[i])min=score[i];return min;}double get_avg_score(){int sum=0,i,avg;for(i=0;i<num;i++)sum+=score[i];avg=sum/num;return avg;}double get_stdev_score(){int sum=0,i,std;for(i=0;i<num;i++)sum+=(score[i]-get_avg_score())*(score[i]-get_avg_score());std=sqrt(sum/(num-1));return std;}int count(int s){int i,c=0;for(i=0;i<num;i++)if(s==score[i])c++;return c;}void output_index(int s){int i;for(i=0;i<num;i++)if(s==score[i])cout<<i<<'\t';return;}

运行结果:
原创粉丝点击