第十五周项目四-多科成绩单

来源:互联网 发布:淘宝的微淘在哪里 编辑:程序博客网 时间:2024/04/29 15:01
#include <iostream>#include <cstdio>#include <cmath>void input(int score[][4],int num);void sum(int score[][4],int num);void hscore(int score[][4],int num);void lscore(int score[][4],int num);void avee(int score[][4],int num);void dev(int score[][4],int num);using namespace std;int main(){    int score[100][4],num;    cout<<"请输入学生人数:";    cin>>num;    cout<<"依次输入输入学生高数,英语,C++成绩:"<<endl;;    input(score,num);//函数调用不用加数据类型    sum(score,num);    hscore(score,num);    lscore(score,num);    avee(score,num);    dev(score,num);    return 0;}void input(int score[][4],int num){    int i,j;    freopen("grade.txt","r",stdin);    for(i=0; i<num; i++)    {        for(j=0; j<3; j++)        {            cin>>score[i][j];        }    }    return;}//求各种和void sum(int score[][4],int num){    int s=0,i,j;    for(i=0; i<num; i++)    {        for(j=0; j<3; j++)        {            s+=score[i][j];        }        score[i][3]=s;        s=0;    }}//求各种最大值void hscore(int score[][4],int num){    int i,j,max;    max=-1;    for(j=0; j<4; j++)    {        for(i=0; i<num; i++)        {            if(score[i][j]>max)            {                max=score[i][j];            }        }        switch(j)        {        case 0:            cout<<"高数最高分:"<<max<<endl;            break;        case 1:            cout<<"英语最高分:"<<max<<endl;            break;        case 2:            cout<<"C++最高分:"<<max<<endl;            break;        case 3:            cout<<"总分最高分:"<<max<<endl;            break;        }        max=-1;    }    cout<<endl;}//求各种最低分void lscore(int score[][4],int num){    int i,j,min=110;    for(j=0; j<4; j++)    {        for(i=0; i<num; i++)        {            if(score[i][j]<min)            {                min=score[i][j];            }        }        switch(j)        {        case 0:            cout<<"高数最低分:"<<min<<endl;            break;        case 1:            cout<<"英语最低分:"<<min<<endl;            break;        case 2:            cout<<"C++最低分:"<<min<<endl;            break;        case 3:            cout<<"总分最低分:"<<min<<endl;            break;        }        min=110;    }    cout<<endl;    return ;}//求各种平均分void avee(int score[][4],int num){    double a=0,ave;    int i,j;    for(j=0; j<4; j++)    {        for(i=0; i<num; i++)        {            a+=score[i][j];            ave=a/num;        }        switch(j)        {        case 0:            cout<<"高数平均分:"<<ave<<endl;            break;        case 1:            cout<<"英语平均分:"<<ave<<endl;            break;        case 2:            cout<<"C++平均分:"<<ave<<endl;            break;        case 3:            cout<<"总分平均分:"<<ave<<endl;            break;        }        a=0;    }    cout<<endl;    return ;}//求各种标准偏差void dev(int score[][4],int num){    int i,j;    double devv=0,ave,s,sum=0;    for(j=0; j<4; j++)    {        for(i=0; i<num; i++)        {            sum+=score[i][j];        }        ave=sum/num;        sum=0;        for(i=0; i<num; i++)        {            s=(score[i][j]-ave)*(score[i][j]-ave);        }        devv=sqrt(s)/(num-1);        s=0;        switch(j)        {        case 0:            cout<<"高数标准偏差:"<<devv<<endl;            break;        case 1:            cout<<"英语标准偏差:"<<devv<<endl;            break;        case 2:            cout<<"C++标准偏差:"<<devv<<endl;            break;        case 3:            cout<<"总分标准偏差:"<<devv<<endl;            break;        }    }    cout<<endl;    return ;}


心得体会:输出最高成绩人数和学号没做,max最高分不知道怎么转换成int型了,,

原创粉丝点击