/*
* Copyright (c) 2014, 烟台大学计算机学院
* All rights reserved.
* 文件名称:test.cpp
* 作 者:冷基栋
* 完成日期:2014 年 11 月 23 日
* 版 本 号:v1.0
* 问题描述: 成绩统计的功能函数
*/
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int score[50],i=1,a,b; //保存成绩的数组,不会超过50名
double num,sum,low=100,high=0,ave=0,l=0,h=0; //小组人数
cout<<"小组共有多少名同学?";
cin>>num;
cout<<"请输入学生成绩:"<<endl;
while (i<=num)
//输入num名同学的成绩
{
cout<<"请输入第"<<i<<"位同学的成绩:";
cin>>a;
if (a>=0&&a<=100)
{
score[i]=a;
sum+=a;
if (a>high)
high=a;
if (a<low)
low=a;
++i;
}
else
cout <<"请检查数据并重新输入学生成绩(0-100):"<<endl;
continue;
}
ave=sum/num;
cout<<"最高成绩为:"<<high<<"分;"<<"最低成绩为:"<<low<<"分;"<<"平均成绩为:"<<ave<<"分";//求出并输出最高成绩、最低成绩和平均成
for(b=1; b<=num; b++)
{
if(score[b]==high)
h++;
if(score[b]==low)
l++;
}
cout<<"取得最高成绩"<<high<<"的共有"<<h<<"人,他们的学号为:";
for (b=1; b<=num; b++)
{
if (high==score[b])
cout<<b<<" ";
}
cout<<endl;
cout<<"取得最低成绩"<<high<<"的共有"<<l<<"人,他们的学号为:";
for (b=1; b<=num; b++)
{
if (low==score[b])
cout<<b<<" ";
}
cout<<endl;//求出并输出考得最高成绩和最低成绩人数以及学号
double c=0;
int x,y;
for (b=0; b<=num; b++)
{
x=score[b]-ave;
y=x*x;
c+=y;
}
cout<<"标准偏差为:"<<sqrt(c/(num-1))<<endl;//求出并输出标准偏差(选做)
return 0;
}
我的机器总乱码