C语言中用二维数组统计学生成绩,还要求每科平均成绩,每个人的平均成绩。还想输入学号。求修改,补充

如果觉得看起来麻烦的话。就直接写好一个回答吧。剩下的小女子自己领悟就好~~~
O(∩_∩)O谢谢
希望不要出现只有C++才能认识的语句
希望能简单点,只用一个主函数。
希望不要自定义函数。
希望二维数组是长这个样的*****[*][*]

#include "stdio.h"
main()
{
float s[51][5],sum=0,sum0=0,sum1=0,sum2=0,sum3=0;
int i,j,n;
printf("学生人数:");
scanf("%d",&n);
for(i=0;i<n;i++)//学生人数,横行
{
for(j=0;j<4;j++)//每科成绩,竖列
{
scanf("%d",s[i][j]);
sum+=s[i][j];//每个学生的总成绩
sum0+=s[i][0];//每科的总成绩
sum1+=s[i][1];
sum2+=s[i][2];
sum3+=s[i][3];
}
s[i][5]=sum/4.0;//每个学生的平均成绩
sum=0;
}
s[n+1][0]=sum0/n;
s[n+1][1]=sum1/n;
s[n+1][2]=sum2/n;
s[n+1][3]=sum3/n;
for(i=0;i<n;i++)
{
for(j=0;j<5;j++)
printf("%d\t",s[i][j]);
}
printf("\n");
}

这是我编的。感觉很罗嗦。大神给指点一下。嘿嘿 。小女子这方有礼了~~~~
(才学C语言。老师讲的有点快。要努力为之奋斗啊)

#include <stdio.h>
//不知道你有没有学动态数组,所以写成宏定义改起来方便
#define N 100 //人数
#define SUB 3 //科目
int main()
{
int stu;
int i;
int j;
float sum = 0.0;
char num[N][10] ;
float s_sum[SUB] = {0};
float score[N][SUB] = {{0}};
printf("输入学生个数:");
scanf("%d",&stu);
printf("输入学生学号:\n");
for(i = 0;i < stu;i++)
{
scanf("%s",&num[i]);
}
printf("输入分数:\n");
for(i = 0; i < stu; i++)
{
printf("学号%s学生的各科分数:\n",num[i]);
for(j = 0; j<SUB; j++) //存各科分数
{
scanf("%f",&score[i][j]);
}
}
for(i = 0; i < stu; i++)
{
for(j = 0; j < SUB; j++)
{
sum +=score[i][j];
}
printf("学号%s学生的平均分:%f\n",num[i],sum/(float)SUB);
sum = 0;
}
for(j = 0 ;j < SUB; j++)
{
for(i = 0;i < stu; i++)
{
s_sum[j]+=score[i][j];
}
printf("第%d学科的学生平均分:%f\n",j,s_sum[j]/stu);
}
return 0;
}
有问题hi我,我加你好友了,共同切磋啊。
温馨提示:答案为网友推荐,仅供参考
相似回答