第十三周项目二成绩处理

来源:互联网 发布:大数据可视化公司 编辑:程序博客网 时间:2024/05/18 17:27
/**Copyright (c)2014,烟台大学计算机与控制工程学院*All rights reserved.*文件名称:grade.cpp*作    者:宋伟男*完成日期:2014年11月23日*版 本 号:v1.0**问题描述:保存成绩的数组。*程序输出:输出最高成绩、最低成绩和平均成绩,考得最高成绩和最低成绩人数以及学号,标准偏差。*/#include<iostream>#include<cmath>using namespace std;int main(){    int score[50]; //保存成绩的数组,不会超过50名    int num,i=1,j,s,high=-1,low=101,sum=0,highc=0,lowc=0;    double ave;//令i=1,是为了输出时显示第一个为第“一”位同学的成绩。    cout<<"小组共有多少名同学?"<<endl;    cin>>num;    cout<<"请输入学生成绩:"<<endl;    while(i<=num) //输入num名同学的成绩    {        cout<<"请输入第"<<i<<"位同学的成绩:";        cin>>s;        if(s>=0&&s<=100)  //成绩范围为0-100        {            score[i]=s;            sum+=s;  //计算总和            if(s>high)  //比较最高分最低分                high=s;            if(s<low)                low=s;            ++i;        }        else            cout<<"请检查数据并重新输入学生成绩(0-100):"<<endl;  //输入错误后要重新输入        continue;    }    ave=sum/num;    cout<<"最高成绩为:"<<high<<"分;"<<"最低成绩为:"<<low<<"分;"<<"平均成绩为:"<<ave<<"分。"<<endl;    for(j=1; j<=num; j++) //求出并输出考得最高成绩和最低成绩人数    {        if(score[j]==high)            highc++;        if(score[j]==low)            lowc++;    }    cout<<"取得最高成绩"<<high<<"的共有"<<highc<<"人,他们的学号为:";    for(j=1; j<=num; j++)  //再次筛选出考得最高成绩和最低成绩的学号    {        if(high==score[j])            cout<<j<<" ";    }    cout<<endl;    cout<<"取得最低成绩"<<low<<"的共有"<<lowc<<"人,他们的学号为:";    for(j=1; j<=num; j++)    {            if(low==score[j])            cout<<j<<" ";    }    cout<<endl;    double m=0;    int x,y;    for(j=1; j<=num; j++)    {        x=score[j]-ave;        y=x*x;        m+=y;    }    cout<<"标准偏差为:"<<sqrt(m/(num-1))<<endl;    return 0;}

运行结果
0 0
原创粉丝点击