1计算每个学生平均分;
2计算每门课的平均分;
3找出所有50个分数中最高的分数所对应的学生和课程;
/*特别为你写的*/
fun() {
int i,ii,d[10][5],max=0,sum=0,b[2];
for(i=0;i<10;i++)
for(ii=0;ii<5;ii++)
scanf("%d",&d[i][ii]);
printf("Average Students:\n");
for(i=0;i<10;i++) {
for(ii=0;ii<5;ii++) {
if(d[i][ii]>max) max=d[i][ii];
sum+=d[i][ii];
}
printf(" NO.%d %d\n",i,sum/5);
sum=0;
}
printf("Average Subjects:\n");
for(ii=0;ii<5;ii++) {
for(i=0;i<10;i++) { sum+=d[i][ii]; if(d[i][ii]==max) {b[0]=i; b[1]=ii;} }
printf(" SB.%d %d\n",ii,sum/10);
sum=0;
}
printf("Highest: NO.%d GRADE.%d",b[0],b[1]);
}
int main(void) {
fun();
getch();
return 0;
}
我也写了一个,没有测试,不知对不对!
#include <stdio.h>
int main(void)
{
int a[10][5], i, j;/*表示是10个学生,五门课程的成绩的数组*/
int average(int a[10][5]), average1(int a[10][5]), find(int a[10][5]);
for(i = 0;i < 10;i ++)
for(j = 0;j < 5;j ++)
scanf("%d", &a[i][j]);
average(a);
average1(a);
find(a);/*第i个学生的第j门功课成绩最高*/
return 0;
}
int average(int a[10][5])
{
float sum = 0;
int i, j;
for(i = 0;i < 10;i ++)
{
for(j = 0;j < 5;j ++)
{
sum += a[i][j];
}
printf("%5.2f ", sum/5.0);
sum = 0;
}
return 0;
}
int average1(int a[10][5])
{
float sum = 0;
int i, j;
for(j = 0;j < 5;j ++)
{
for(i = 0;i < 10;i ++)
{
sum += a[i][j];
}
printf("%.2f ", sum/10.0);
sum = 0;
}
return 0;
}
int find(int a[10][5])
{
int a1, b1, i, j, t;
for(i = 0;i < 10;i ++)
for(j = 0;j < 5;j ++)
{
if(a[i][j] > a[0][0])
{
t = a[i][j];
a[i][j] = a[0][0];
a[0][0] = t;
a1 = i;
b1 = j;
}
}
printf("%d%d", a1, b1);
return 0;
}