C语言编程题(有关二维数组的循环的)

输入10个学生5门课程的成绩,分别用函数求:
1.每个学生的总分
2.每门课程的平均分
3.找出最高的分数所对应的学生和课程

#include <stdio.h>
main()
{
int a[10][5]; /*a表示10个学生的5门成绩*/
int i,j;
int sum,avg;
char b[5][10]={"课程1","课程2","课程3","课程4","课程5"};
for(i=0;i<10;i++){
printf("\n请输入第%d个学生的成绩 (%s)\n",i+1,b);
for(j=0;j<5;j++){
scanf("%d",&a[i][j]);
}
}
for(i=0;i<10;i++){
printf("第%d个学生的总分是:%d\n",i+1,zong(i,a));
}
for(i=0;i<5;i++){
printf("%s的平均分是%d\n",b[i],pingjun(a,i));
}
for(i=0;i<5;i++){
printf("%s课的最高分是%d,学生是第%d个\n",b[i],a[check(a,i)][i],check(a,i));
}
getch();
}
int zong(int index,int x[10][5]){ /*计算index个学生的总分*/
int sum=0,j;
for(j=0;j<5;j++){
sum+=x[index][j];
}
return sum;
}
int pingjun(int x[10][5],int index){ /*计算第index门课程的平均分*/
int sum=0,i;
for(i=0;i<10;i++){
sum+=x[i][index];
}
return sum/10;
}
int check(int x[10][5],int index){ /*找其第index门课的最高分*/
int max,i,count;
max=x[0][index];
count=0;
for(i=0;i<10;i++){
if(max<=x[i][index]){
max=x[i][index];
count=i;
}
}
return count;
}
我有1年没有学C了,现在学的是java和jsp,所以还有一些印象,不知道对不对,你的第3问我是找的每门课程的最高分,不知道你问的是不是这样,要是问的所有分中的最高分,你比较5门就可以了
恩,我用win-tc写的,如果用vc,直接删除getch()就可以了
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-05-02
学了结构体之后你就会觉得这个题很容易了。
第2个回答  2010-04-30
楼上用的win—tc吧!
vc中运行不用getch();