1. 程式人生 > >輸入四名學生的五門成績 並輸出 計算各科平均分 各學生成績總分 找出各科最高分 輸出總分最高分的學生姓名及分數

輸入四名學生的五門成績 並輸出 計算各科平均分 各學生成績總分 找出各科最高分 輸出總分最高分的學生姓名及分數

#include<iostream>
#include<iomanip>
using namespace std;
int cj[4][6];
char xm[4][20]={"賴卓成","黃則喜","黃融鑫","王日聰"};
char kc[20][6]={{"語文"},{"數學"},{"英語"},{"物理"},{"化學"},{"總分"}};
int Max[6]={0};
void main()
{void input(int cj[4][6]);
void output(int cj[4][6]);
void aveout(int cj[4][6]);
void cjmax(int cj[4][6]);
void putmax(int cj[4][6]);
input(cj);
output(cj);
aveout(cj);
cjmax(cj);
putmax(cj);
}
void input(int cj[4][6])
{


for(int i=0;i<4;i++)
{
cout<<"輸入"<<*(xm+i)<<"的成績:";
for(int j=0;j<5;j++)
cin>>cj[i][j];
}
}


void output(int cj[4][6])
{void sumout(int cj[4][6]);
cout<<"        ";
for(int i=0;i<6;i++)
{
cout<<"    "<<*(kc+i);}
cout<<endl;
for(i=0;i<4;i++)
{sumout(cj);
cout<<*(xm+i);
for(int j=0;j<6;j++)
{
cout<<setw(8)<<cj[i][j];
}
cout<<endl;
}

}


void aveout(int cj[4][6])
{
float sum,k[6];
for(int i=0;i<6;i++)
{sum=0;
for(int j=0;j<4;j++)
sum=cj[j][i]+sum;
k[i]=sum;
}
cout<<"平均分";
for(int j=0;j<6;j++)
cout<<setw(8)<<k[j]/4;
cout<<endl;
}




void sumout(int cj[4][6])
{
int k;
for(int i=0;i<4;i++)
{k=0;
for(int j=0;j<5;j++)
{
k=k+cj[i][j];

}
cj[i][5]=k;
}


}
int max(int a,int b)
{if(a>b)
return a;
else
return b;
}
void cjmax(int cj[4][6])
{
int max(int a,int b);
for(int i=0;i<6;i++)
for(int j=0;j<4;j++)
Max[i]=max(Max[i],cj[j][i]);
cout<<"最高分";
for(i=0;i<6;i++)
cout<<setw(8)<<Max[i];
cout<<endl;


}




void putmax(int cj[4][6])
{for(int i=0;i<5;i++)
if(cj[i][5]==Max[5])
break;
cout<<*(xm+i)<<"的總分最高:"<<Max[5]<<"分"<<endl;


}