极愿灵徒
2016-11-29 21:29
课程1 课程2 课程3 课程4
学生1 77 68 86 73
学生2 96 87 89 78
学生3 70 90 86 81
//我第二次看到这个问题了= =,纯手打。上一次是求每个学生的平均分,这是总平均啊。下面有说明需要改的地方。
#include<stdio.h>
void main()
{
int score[3][4];
int i,j,ave,sum,max;
for(i=0;i<=2;i++)
{
for(j=0,sum=0,ave=0;j<=3;j++) /*1.此处sum=0方便给不同学生初始化总分*/
{ //楼主问题不同,去掉sam=0就好了
printf("学生%d的课程%d成绩=",i+1,j+1);
scanf("%d",&score[i][j]) ; //对应学生手动键盘输入各科成绩
sum+=score[i][j]; //累加学生I的分数
}
ave=sum/4; //2.求平均值,此处改成sum/12。
printf("学生%d的平均分=%d\n",i+1,ave); //3.这里删去,循环外printf即可。
}
for(j=0;j<=3;j++)
{
max=score[0][j]; /*每门课程三个分数依次比较即可*/
if(score[1][j]>max)
max=score[1][j];
if(score[2][j]>max)
max=score[2][j];
printf("\n课程%d的最高分=%d",j,max); //每次循环输出一个最高分
}
}
用for循环求每行和每列的分别总和在除学生数和课程数,你先想一下,不会的话我再给你发代码
C语言入门
928133 学习 · 21543 问题
相似问题