成绩处理

来源:互联网 发布:剑网三捏脸萝莉数据 编辑:程序博客网 时间:2024/04/29 07:27

 

/* * Copyright (c) 2011, 烟台大学计算机学院 * All rights reserved. * 作    者:王静  * 完成日期:2012 年12  月 3 日 * 版 本 号:v1.0 * 输入描述:* 问题描述:* 程序输出:* 问题分析:* 算法设计:略 */#include <iostream>#include<Cmath> using namespace std;//在这个问题中,成绩和人数是核心数据,适合作为全局变量处理int score[50];    //将score设为全局变量,在各个函数中可以直接使用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(void){        intmax_score,min_score;       cout<<"小组共有多少名同学?";       cin>>num;       cout<<endl<<"请输入学生成绩:"<<endl;       input_score();  //要求成绩在0-100之间       max_score=get_max_score();       cout<<endl<<"最高成绩为:"<<max_score<<",共有"<<count(max_score)<<"人。"<<endl;       min_score=get_min_score();       cout<<endl<<"最低成绩为:"<<min_score<<",共有"<<count(min_score)<<"人。"<<endl;       cout<<endl<<"平均成绩为:"<<get_avg_score();        cout<<endl<<"标准偏差为:"<<get_stdev_score();       cout<<endl<<"获最高成绩的学生(学号)有:";       output_index(max_score);       cout<<endl<<"获最低成绩的学生(学号)有:";       output_index(min_score);        return0; } //input_score函数的功能是输入小组成员的成绩void input_score(){   int i;   for(i=0;i<num;i++)              do              {                     cout<<"输入第 "<<i+1<<"位同学的成绩:";                      cin>>score[i];              }while(score[i]<0||score[i]>100);              return;} // get_max_score()函数的功能是求出num名同学的最高成绩int get_max_score(){       inti,max=score[0];       for(i=1;i<num;++i)       {              if(max<score[i])                     max=score[i];       }       returnmax;    } // get_min_score()函数的功能是求出num名同学的最低成绩int get_min_score(){       inti,min=score[0];       for(i=1;i<num;++i)       {              if(min>score[i])                     min=score[i];       }       returnmin;} // get_avg_score()函数的功能是求出num名同学的平均成绩double get_avg_score(){       inti,sum=0;       doubleavg;       for(i=0;i<num;++i)              sum+=score[i];       avg=sum/num;       returnavg;} // get_ stdev _score()函数的功能是求出num名同学成绩的标准偏差double get_stdev_score(){       doublex,x1,x2;       inti;       x=get_avg_score();       for(i=1;i<num;++i)              x1+=((score[i]-x)*(score[i]-x))/(num-1);       x2=sqrt(x1);       returnx2;} // count(int s)函数的功能是返回值score数组中为s的元素的个数int count(int s){       inti,j=0;       for(i=0;i<num;++i)       {              if(score[i]==s)                     j++;       }       returnj;} // output_index函数的功能是输出score数组中值为s的元素的下标(index)//注意:值为s的元素可能有多个void output_index(int s){       inti;       for(i=0;i<num;++i)       {              if(score[i]==s)                     cout<<i+1<<endl;;       }       return;}


 

 

运行结果:
(贴图)

心得体会:

原创粉丝点击