1.从键盘上输入4个学生3门功课的成绩(用二维数组存放)和学生姓名(用一维数组存放).按下列要求编程:
(1).求出每个学生的总分
(2).求出每门课程的平均分
(3).调用函数实现排序之后按总分的升序,分别输出每个学生的姓名\总分\各科成绩
參考答案:我的程序是这样的!
#include<iostream.h>
#define n1 3
#define n2 4
void main()
{
int i,j;
int a[n1][n2];
char b[n1];
cout<<"请各位同学输入你的物理和数学,英语!"<<endl;
for(i=0;i<n1;i++)
for(j=0;j<n2;j++)
{
cin>>a[i][j];
cin>>b[i];
}
cout<<endl;
for(i=0;i<n1;i++)
for(j=0;j<n2;j++)
{
cout<<"\tb["<<i<<"]="<<b[j];
cout<<"\ta["<<i<<"]["<<j<<"]="<<a[i][j];
}
cout<<endl;
int sum1=0,sum2=0,sum3=0;
for(i=0;i<n1;i++)
{
sum1+=a[i][0];
sum2+=a[i][1];
sum3+=a[i][2];
}
cout<<"物理平均分为:"<<sum1/n1<<endl;
cout<<"数学平均分为:"<<sum2/n1<<endl;
cout<<"英语平均分为:"<<sum3/n1<<endl;
int su1=0,su2=0,su3=0;
for(i=0;i<n2;i++)
{
su1+=a[0][i];
su2+=a[1][i];
su3+=a[2][i];
}
cout<<b[0]<<" 平均分为:"<<su1/n1<<endl;
cout<<b[1]<<" 平均分为:"<<su2/n1<<endl;
cout<<b[2]<<" 平均分为:"<<su3/n1<<endl;
int c[n1]={su1,su2,su3};
int k;
for(i=0;i<n1-1;i++)
{
k=i;
for(j=i+1;j<=n1-1;j++)
{
if(c[k]<c[j])
k=j;
if(i!=k)
{
int t;
t=c[i];
c[i]=c[k];
c[k]=t;
}
}
}
cout<<"\n总分从大到小排序后的数组为:"<<endl;
for(i=0;i<n1;i++)
{
cout<<c[i]<<" ";
cout<<b[i]<<" ";
for(j=0;j<n2;j++)
cout<<a[i][j]<<" ";
}
cout<<endl;
}
这个程序还需要你自己去编译!!!!!!!!!