运行结果应该是如图吧(为了验证方便,改了一下输入数据的量)
给你的程序稍加改动了一些,你只需将数组的下标参照下面程序修改一下即可使用了。
#include
#include
void ssa(float s[5][5]);
void cmm(float s[5][5]);
void ca(float s[5][5]);
int main()
{
float s[5][5];
int i,j;
for(i=0;i<5;i++) /*数组赋初值*/
for(j=0;j<5;j++)
s[i][j]=0.0;
for(i=0;i<2;i++) /*输入2个学生3门成绩*/
for(j=0;j<3;j++)
scanf("%f",&s[i][j]);
ssa(s); /*调用函数计算每个学生的总分和平均分*/
cmm(s); /*调用函数计算每门课程的最高分和最低分*/
ca(s); /*调用函数计算每门课程的平均分*/
for(i=0;i<5;i++) /*输出运行结果*/
{
printf("\n");
for(j=0;j<5;j++)
printf("%8.1f",s[i][j]);
}
system("pause");
return 0;
}
void ssa(float s[5][5])
{
int i;
for(i=0;i<2;i++) /*这里要加大括号{}*/
{
s[i][3]=s[i][0]+s[i][1]+s[i][2];
s[i][4]=s[i][3]/3;
}
}
void cmm(float s[5][5]) /*这里与源程序变动多些*/
{
int i,j;
float ma,mi;
for(j=0;j<3;j++)
{
ma=s[0][j];
mi=s[0][j];
for(i=1;i<2;i++)
if(ma
{
ma=s[i][j];
}
else
if(mi>s[i][j])
{
mi=s[i][j];
}
s[2][j]=mi;
s[3][j]=ma;
}
}
void ca(float s[5][5])
{int j;
for(j=0;j<3;j++)
s[4][j]=(s[0][j]+s[1][j])/2;
}
追问
是这样的 我修改了 可是运行不了了大神 求解 能不能给我一个10个学生3门课程序
追答
程序请看附件