简单的编程问题

题目:10个学生 5科成绩
1.输入学生姓名和成绩;
2.求出每人5科的平均分;
3.求出每科10个学生的平均分;
4.求出50个成绩的最高分,是谁,是哪科;
5.输出成绩表.

要求:用5个函数做以上5个动作;
PS:我们初学C语言,写的别太复杂!在VC环境下实现。跪谢!急求!

Java写的话估计几分钟就出来的,C语言的话,需要等下了。

#include <stdio.h>

char Student_Name[10];
char Course[5];
int Student_Grades[10][5];
void InputData()
{
int i,j;
for(i=0;i<10;i++)
{
printf("请输入学生姓名:\n");
scanf("%s",&Student_Name[i]);
}
for(i=0;i<5;i++)
{
printf("请输入科目名:");
scanf("%s",&Course[i]);
}
for(i=0;i<10;i++)
{
for(j=0;j<10;j++)
{
printf("请输入%s同学的%s成绩:",Student_Name[i],Course[j]);
scanf("%d",&Student_Grades[i][j]);
}
}
}

void Student_AverageGrade()
{
int Sum[10];
int i,j,average;
for(i=0;i<10;i++)
{
for(j=0;j<5;j++)
{
Sum[i]+=Student_Grades[i][j];
}
}
for(i=0;i<10;i++)
{
average=Sum[i]/5;
printf("%s同学的平均分是:%d",Student_Name[i],average);
}
}

void Course_AverageGrade()
{
int Sum[5];
int i,j,average;
for(i=0;i<5;i++)
{
for(j=0;j<10;j++)
{
Sum[i]+=Student_Grades[j][i];
}
}

for(i=0;i<5;i++)
{
average=Sum[i]/10;
printf("%s科目的平均分是:%d",Course[i],average);

}
}

void MaxGrade()
{
int i,j,Max,row,colum;
Max=0;
for(i=0;i<5;i++)
{
for(j=0;j<10;j++)
{
if(Student_Grades[i][j]>Max)
{
Max=Student_Grades[i][j];
row=j;
colum=j;
}
}
}
printf("最高分是:%d,为%s同学,%s科",Max,Student_Name[row],Course[colum]);
}

void OutputGrades()
{
int i,j;
for(i=0;i<10;i++)
{
for(j=0;j<5;j++)
{
printf("%d\t",Student_Grades[i][j]);

}
printf("\n");
}
}

int main()
{
InputData();
Student_AverageGrade();
Course_AverageGrade();
MaxGrade();
OutputGrades();
return 0;
}
写好了,平时Java写多了,C语言有点不太熟了,大概就这样写吧。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-01-06
我只会一点
相似回答
大家正在搜