#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 關注
- 1637 瀏覽
添加回答
舉報
0/150
提交
取消