#include<stdio.h>
#define N 10
#define M 5
float score[N][M];
float astu[N],acour[M];
int r,c;
int main() //主函数
{
int i,j;
float h; //声明函数
printf(" *************欢迎使用学生成绩管理系统******************\n");
float highest(); // 求最高分
void inputstu(void); // 输入函数
void averstu(void); //各学生平均成绩
void avercour(void); //各科平均分
inputstu(); //调用函数
averstu();
avercour();
printf("\n 科目 科目1 科目2 科目3 科目4 科目5 平均分\n");
for(i=0;i<N;i++)
{
printf("\n第 %2d名同学",i+1); //输出分数
for(j=0;j<M;j++)
printf("%8.2f",score[i][j]);
printf("%8.2f\n",astu[i]);
}
printf("\n各科平均分:"); //输出平均分
for(j=0;j<M;j++)
printf("%8.2f",acour[j]);
printf("\n");
h=highest();
printf("最高分:%7.2f 第 %2d名同学 科目%2d\n",h,r,c);
return 0;
}
//定义函数
void inputstu(void) // 定义输入函数
{
int i,j;
//printf(" *************欢迎使用学生成绩管理系统******************\n");
for(i=0;i<N;i++)
{printf("\n请输入第%2d同学分数:\n",i+1);
for(j=0;j<M;j++)
scanf("%f",&score[i][j]);
}
}
void averstu(void) //定义各个学生平均分函数
{int i,j;
float s;
for(i=0;i<N;i++)
{for(j=0,s=0;j<M;j++)
s+=score[i][j];
astu[i]=s/(float)M;
}
}
void avercour(void) //定义各科平均分函数
{int i,j;
float s;
for(j=0;j<M;j++)
{s=0;
for(i=0;i<N;i++)
s+=score[i][j];
acour[j]=s/(float)N;
}
}
float highest() //定义最高分函数
{float high;
int i,j;
high=score[0][0];
for(i=0;i<N;i++)
for(j=0;j<M;j++)
if(score[i][j]>high)
{high=score[i][j];
r=i+1;
c=j+1;
}
return (high); //返回值
}printf(" *************欢迎使用学生成绩管理系统******************\n");这条语句加载main里第一行会报错,放到子函数里就没事了,不知道不太明白原因,求大神指点一二,在此谢过了!
- 2 回答
- 1 关注
- 1592 浏览
添加回答
举报
0/150
提交
取消