您的位置:首页 > 其它

test5-2(成绩处理)

2013-12-06 13:21 232 查看
程序:

/*
* Copyright(c)2013,
*All right reserved.
*文件名称:test5-2.cpp
*作 者:徐驰
*完成日期:2013-12-06
*版 本 号:v1.0
*
*输入描述:成绩
*问题描述:在数组score中将要存储某小组C++程序设计的成绩,
请设计完成下面的各功能函数,并将它们组合成一
个完整的应用:
   (1)输入小组人数及成绩;
   (2)输出该小组的最高成绩、最低成绩、平均成绩
和成绩的标准偏差
   (3)输出考得最高成绩和最低成绩的同学的人数及
对应的学号(设成绩对应的下标即学号,可能
有相同的成绩)
*程序输出:略
*问题分析:略
*算法分析:略
*/
#include<iostream>
#include<Cmath>
using namespace std;
void main()
{
int score[100],maxn[100],minn[100];
int num,min=100,max=0,max_num,min_num,i,j=0,k=0;
double ave=0,s=0;
cout<<"小组共有多少学生:";
cin>>num;
for(i=0;i<num;++i)
{
cout<<"第"<<i+1<<"名学生的成绩为:";
cin>>score[i];
if(score[i]>max){max=score[i];max_num=1;}
else if(score[i]==max)++max_num;
if(score[i]<min){min=score[i];min_num=1;}
else if(score[i]==min)++min_num;
ave=ave+score[i];
}
ave=ave/num;
for(i=0;i<num;++i)
{
s=s+double(score[i]-ave)*double(score[i]-ave);
if(score[i]==max){maxn[j]=i;++j;}
if(score[i]==min){minn[k]=i;++k;}
}
s=sqrt(s/(num-1));
cout<<"该小组最高成绩为:"<<max<<" 共"<<max_num<<"人。号码为:";
for(i=0;i<j;++i){cout<<maxn[i]<<" ";}
cout<<endl<<"该小组最低成绩为:"<<min<<" 共"<<min_num<<"人。";
for(i=0;i<k;++i){cout<<minn[i]<<" ";}
cout<<endl<<"该小组平均成绩为:"<<ave<<" 方差为:"<<s<<endl;
}结果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: