您的位置:首页 > 其它

13周项目二。。。成绩处理

2014-11-23 14:16 302 查看
问题及代码:

/*
*Copyright (c) 2014,烟台大学计算机学院
*All rights reserved.
*文件名称:莉莉.cpp
*作者:李莉
*完成日期:2014年11月223日
*版本号:v1.0
*
*问题描述:根据不同的需求统计学生成绩
*问题输入:num个学生的成绩
*程序输出:num个学生平均成绩,最高成绩,最低成绩,以及他们的学号,及标准偏差
*/
#include <iostream>
#include <cmath>
using namespace std;

int main()
{
    int score[100];
    int num,i,max=-1,min=101,sum=0;//初始化最大值,最小值,确保让其可以继续赋值
    double ave;
    cout<<"小组共有多少名同学?";
    cin>>num;//设定学生总数
    cout<<"请输入同学的成绩:"<<endl;
    for (i=0; i<num; i++)
    {
        cout<<"请输入第"<<i<<"名同学成绩:";
        cin>>score[i];
        if (score[i]>100)
        {
            cout<<"请输入第"<<i<<"名同学成绩:";
            cin>>score[i];
            continue;
        }
        if (max<score[i])
            max=score[i];
        if (min>score[i])
            min=score[i];
            sum=sum+score[i];
            ave=sum/6;
    }
    cout<<"最高成绩为:"<<max<<endl;
    cout<<"最低成绩为:"<<min<<endl;
    cout<<"平均成绩为:"<<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;
    int x,S=0;//x表示成绩与平均成绩的差值
    for (i=0;i<num;i++)
    {
        x=score[i]-ave;
        S+=x*x;
    }
    cout<<"标准偏差为:"<<sqrt(S/num-1)<<endl;
    return 0;
}


运行结果:



心得体会:

其实数组的处理,不是那么的难理解。。嘿嘿
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: