c语言二维数组:创建一个二维数组,从键盘输入5个学生的4门成绩,

c语言二维数组:创建一个二维数组,从键盘输入5个学生的4门成绩,要求:1计算每个学生的总分和每门功课的平均成绩;2输入所有成绩及计算结果;3.将每个学生的总分输入到一个一维数组,按从小到大顺序排列,并输出

#include<stdio.h>
#include<stdlib.h>
#define A 5
#define B 4
int main(void)
{
int a[A][B],zcj[A],i,j,sum,t;
double ave;
for(i=0;i<A;i++)
{
printf("请输入第%d个学生的第4门成绩:",i+1);
for(j=0;j<B;j++)
scanf("%d",&a[i][j]);
}
for(i=0;i<A;i++)
{
sum=0;
printf("%d:",i+1);
for(j=0;j<B;j++)
{
sum+=a[i][j];
printf("%d\t",a[i][j]);
}
ave=sum*1.0/B;
zcj[i]=sum;
printf("总成绩是%d、平均分是%.2f\n",sum,ave);
}

for(i=0;i<A-1;i++)
{
for(j=0;j<A-i-1;j++)
{
if(zcj[j]>zcj[j+1])
{
t=zcj[j];
zcj[j]=zcj[j+1];
zcj[j+1]=t;
}
}

}
printf("总成绩从小到大输出:\n");
for(i=0;i<A;i++)
printf("%d ",zcj[i]);
system("pause");
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-12-07
#include<stdio.h>
#include<Windows.h>
int main()
{
int t;
int a[5][4];
int sum[5];
int i,j,sum1=0;
int ave;
for(i=0;i<5;i++)
{
printf("请输入第%d个学生的各科成绩:",i);
for(j=0;j<4;j++)
{
sum[0]=0;
scanf("%d",&a[i][j]);
sum[i]=sum[i]+a[i][j];
printf("第%d个学生的总成绩为:",sum[i]);

}
}
for(j=0;j<4;j++)
for(i=0;i<5;i++)
sum1=sum1+a[i][j];
ave=sum1/4;
printf("每门学科的平均成绩为:%d",ave);
for(i=0;i<5;i++)
{
int k,t;
k=i;
i++;
if(sum[i]>sum[k])
t=sum[k];
sum[k]=sum[i];
sum[i]=t;
}
for(i=0;i<5;i++)
printf("各科成绩由小到大为:%d",sum[i]);
system("pause");
return 0;
}本回答被网友采纳
第2个回答  2019-07-05
#include<stdio.h>
#include<Windows.h>
int
main()
{
int
t;
int
a[5][4];
int
sum[5];
int
i,j,sum1=0;
int
ave;
for(i=0;i<5;i++)
{
printf("请输入第%d个学生的各科成绩:",i);
for(j=0;j<4;j++)
{
sum[0]=0;
scanf("%d",&a[i][j]);
sum[i]=sum[i]+a[i][j];
printf("第%d个学生的总成绩为:",sum[i]);
}
}
for(j=0;j<4;j++)
for(i=0;i<5;i++)
sum1=sum1+a[i][j];
ave=sum1/4;
printf("每门学科的平均成绩为:%d",ave);
for(i=0;i<5;i++)
{
int
k,t;
k=i;
i++;
if(sum[i]>sum[k])
t=sum[k];
sum[k]=sum[i];
sum[i]=t;
}
for(i=0;i<5;i++)
printf("各科成绩由小到大为:%d",sum[i]);
system("pause");
return
0;
}
相似回答