成绩处理
来源:互联网 发布:网络战部队 编辑:程序博客网 时间:2024/06/10 08:30
/** Copyright (c)2013, 烟台大学计算机学院学生* All rightsreserved.* 文件名称: array.cpp* 作 者: 李中意* 完成日期: 2013 年 12 月 6 日* 版本号: v1.0* 输入描述:无*/#include<iostream>#include<cstdio>#include<Cmath>using namespace std;int main(void){ int score[50]; int num,i; cout<<"小组共有多少名同学?"; cin>>num; cout<<"请输入学生成绩:"<<endl; for(i=0; i<num; i++) do { cout<<"输入第 "<<i<<" 位同学的成绩:"; cin>>score[i]; } while(score[i]<0||score[i]>100); int max = -1,min=999,sum=0,ave; for(i=0; i<num; i++) { sum+=score[i]; if(max<score[i]) max= score[i]; if(min>score[i]) min = score[i]; } ave=sum/num; cout<<endl<<"最高成绩为:"<<max <<",最低成绩为:"<<min<<",平均成绩为:"<<ave<<endl; int max_num = 0, min_num =0; for(i=0; i<num; i++) { if(max==score[i]) max_num++; if(min==score[i]) min_num++; } cout<<"取得最高成绩"<<max<<"分的共 "<<max_num<<" 人,他们的学号是:"; for(i=0; i<num; i++) { if(max==score[i]) cout<<i<<" "; } cout<<endl; cout<<"取得最低成绩"<<min<<"分的共 "<<min_num<<" 人,他们的学号是:"; for(i=0; i<num; i++) { if(min==score[i]) cout<<i<<" "; } cout<<endl; sum = 0; int x; for(i=0; i<num; i++) { x=score[i]-ave; sum+=x*x; } cout<<"标准偏差为:"<<sqrt(double(sum)/(num-1))<<endl; return 0;}