您的位置:首页 > 其它

第13周项目--成绩处理

2014-11-22 12:58 197 查看
<span style="color:#009900;">/*
* Copyright (c) 2014, 烟台大学计算机学院
* All rights reserved.
* 文件名称:test.cpp
* 作    者:姜 甜 甜
* 完成日期:2014 年 11  月  22  日
* 版 本 号:v1.0
*
* 问题描述:在数组score中将要存储某小组C++程序设计的成绩。;
* 输入描述:输入学生人数和学生成绩;
* 程序输出:输出该小组的最高成绩、最低成绩、平均成绩、考得最高、低成绩的人数和他们的学号以及所有同学成绩的标准偏差。
*/
</span>#include <iostream>
#include <cmath>
using namespace std;
int main()
{
    int score[50];                             //保存成绩的数组,不会超过50名
    int num,i;
    int max_s=0,min_s=score[0],sum=0,aver;
    int max_num=0,min_num=0;
    double s,a=.0;                                  //num小组人数
    cout<<"小组共有多少名同学?";
    cin>>num;
    cout<<"请输入学生成绩:"<<endl;            //输入num名同学的成绩
    for(i=0; i<num; i++)
    {
        cout<<"输入第"<<i<<"位同学的成绩:";
        cin>>score[i];
         if(score[i]<0||score[i]>100)
         i--;

    }
    cout<<endl;                          //求出并输出最高成绩、最低成绩和平均成绩
   for(i=0; i<num; i++)
    {
        sum=sum+score[i];
        if(max_s<score[i])
            max_s=score[i];
        if(min_s>score[i])
            min_s=score[i];
    }
    aver=sum/num;
    for(i=0; i<num; i++)
    {
        if(score[i]==max_s)
            max_num++;
        if(score[i]==min_s)
            min_num++;
    }
    cout<<"最高成绩为:"<<max_s<<",最低成绩为:"<<min_s<<",平均成绩为:"<<aver<<endl;
    cout<<"取得最高成绩"<<max_s<<"的共"<<max_num<<"人, 他们的学号是: ";
    for(i=0; i<num; i++)
    {
        if(score[i]==max_s)
            cout<<i<<" ";
    }
    cout<<endl;                           //求出并输出考得最高成绩和最低成绩人数以及学号
  cout<<"取得最低成绩"<<min_s<<"的共"<<min_num<<"人,他们的学号是: ";
    for(i=0; i<num; i++)
    {
        if(score[i]==min_s)
            cout<<i<<" ";
    }
    cout<<endl;
    for(i=0; i<num; i++)
    {
        a=a+ pow((score[i]-aver),2);        //pow(x,y) --表示x的y次方 所以可以用 pow(x,2)表示x的平方另外 sqrt(x)是开方的函数
   }
    s=sqrt(a/(num-1));
    cout<<"标准偏差为:"<<s;       //求出并输出标准偏差
   return 0;
}


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