C语言输入10个学生3门课的成绩求每门课的最高最低分和平均分求每个学生的总分和平均分 用数组 调用函数

#include"stdio.h"
void ssa(float s[13][5]);
void cmm(float s[13][5]);
void ca(float s[13][5]);
void main()
{float s[13][5];
int i,j;
for(i=0;i<10;i++)
for(j=0;j<3;j++)
scanf("%f",&s[i][j]);
ssa(s);;
cmm(s);
ca(s);
for(i=0;i<10;i++)
printf("\n");
for(j=0;j<3;j++)
printf("%.1f",s[i][j]);
}

void ssa(float b[13][5])
{
int i;
for(i=0;i<10;i++)
b[i][3]=b[i][0]+b[i][1]+b[i][2];
b[i][4]=b[i][3]/3;
}
void cmm(float b[13][5])
{
int i,j;
int ma=100,mi=0;
for(j=0;j<3;j++)
for(i=0;i<10;i++)
if(ma<b[i][j])
{ma=b[i][j];
b[11][i]=ma;}
else
{mi=b[i][j];
b[12][j]=mi;
}
}
void ca(float b[13][5])
{int j;
for(j=0;j<3;j++)
b[13][j]=(b[1][j]+b[2][j]+b[3][j]+b[j][j]+b[5][j]+b[6][j]+b[7][j]+b[8][j]+b[9][j]+b[10][j])/10;
}

运行结果应该是如图吧(为了验证方便,改了一下输入数据的量)

给你的程序稍加改动了一些,你只需将数组的下标参照下面程序修改一下即可使用了。

#include <stdio.h>

#include <stdlib.h>

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<s[i][j])

   {

    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门课程序

追答

程序请看附件

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-05-04
这是你写的程序吗?