/*
*copyright (c) 2014, 烟台大学计算机学院.
*All rights reserved.
*文件名称:test.cpp
*作者:陆云杰
*完成日期:2014年11月22日
*版本号:v1.0
*
*
*问题描述:处理学生成绩
*程序输入:学生的成绩
*程序输出:对成绩的各种处理
*/
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int score[50];
int N[50],W[50];
int num,i,s;
cout<<"小组共有多少名同学?";
cin>>num;
for(i=0; i<num; i++)
{
cout<<"请输入第"<<i<<"位学生的成绩:";
cin>>s;
if(s>100||s<0)
{
cout<<"请输入第"<<i<<"位学生的成绩:";
cin>>s;
}
score[i]=s;
}
int max=score[0],n;
for(n=1; n<num; n++)
{
if(score[n]>=max)
{
max=score[n];
}
}
cout<<"最高成绩为:"<<max<<endl;
int min=score[0],p;
for(p=1; p<num; ++p)
{
if(score[p]<=min)
{
min=score[p];
}
}
cout<<"最低成绩为:"<<min<<endl;
int average,q,SUM=0;
for(q=0; q<num; q++)
{
SUM+=score[q];
}
average=SUM/num;
cout<<"平均成绩为:"<<average<<endl;
int x,y=0,r=0;
for(x=0; x<num; x++)
{
if(score[x]==max)
{
++y;
N[r]=x;
++r;
}
}
cout<<"取得最高成绩"<<max<<"分的共"<<y<<"人,他们的共们的学号是:";
int r1;
for(r1=0; r1<y; ++r1)
{
cout<<N[r1]<<" ";
}
cout<<endl;
int z,w=0,r2=0;
for(z=0; z<num; z++)
{
if(score[z]==min)
{
++w;
W[r2]=z;
r2++;
}
}
cout<<"取得最低成绩"<<min<<"分的共"<<w<<"人,他们的学号是";
int r3;
for(r3=0; r3<w; ++r3)
{
cout<<W[r3]<<" ";
}
cout<<endl;
double S;
int xi,Sum=0,d,D;
for(xi=0; xi<num; xi++)
{
d=score[xi]-average;
D=d*d;
Sum+=D;
}
S=sqrt(Sum/(num-1));
cout<<"标准偏差为:"<<S<<endl;
return 0;
}
学习心得:可以利用数组来处理数据啦!