您的位置:首页 > 其它

第13周项目2-成绩处理

2014-11-24 11:00 197 查看
/*
*Copyright (c) 2014,烟台大学计算机学院
*All rights reserved.
*文件名称:Annpion.cpp
*作者:王耀鹏
*完成日期:2014年11月23日
*版本号:v1.0
*
*问题描述:成绩处理,输入小组人数及成绩,输出该小组的最高成绩、最低成绩、平均成绩、最高成绩和最低成绩的同学的人数和学号、成绩的标准差。
*输入描述:输入小组人数及成绩。
*程序输出:输出该小组的最高成绩、最低成绩、平均成绩、最高成绩和最低成绩的同学的人数和学号、成绩的标准差。
*/
#include <iostream>

#include<cmath>

using namespace std;

int main()
{
    double s=0;
    int ave,num,i=0,j=0,k=0,sum=0,max=-1,min=101;
    int score[50],a[50],b[50];
    cout<<"小组共有多少名同学?";
    cin>>num;
    cout<<"请输入学生成绩:"<<endl;
    while(i<num)
    {
        cout<<"输入第"<<i<<"位同学的成绩:";
        cin>>score[i];
        if(score[i]<0||score[i]>100)
            continue;
        if(score[i]>max)
            max=score[i];
        if(score[i]<min)
            min=score[i];
        sum+=score[i];
        i++;
    }
    ave=sum/num;
    cout<<"最高成绩为:"<<max<<", 最低成绩为:"<<min<<", 平均成绩为:"<<ave<<endl;
    for(i=0; i<=num; i++)
    {
        if(max==score[i])
        {
            a[j]=i;
            j++;
        }
        if(min==score[i])
        {
            b[k]=i;
            k++;
        }
    }
    cout<<"取得最高成绩"<<max<<"分的共有 "<<j<<"人,他们的学号是:";
    for(i=0; i<j; i++)
    {
        cout<<a[i]<<" ";
    }
    cout<<endl<<"取得最低成绩"<<min<<"分的共有 "<<k<<"人,他们的学号是:";
    for(i=0; i<k; i++)
    {
        cout<<b[i]<<" ";
    }
    for(i=0; i<num; i++)
    {
        s+=pow((score[i]-ave),2);
    }
    cout<<endl<<"标准偏差为:"<<sqrt(s/(num-1));
    return 0;
}

运行结果:

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