1   1  /  1  页   跳转

请朋友进来帮帮忙

请朋友进来帮帮忙

调用input__stu函数,输入10个学生的成绩
调用aver__stu函数,计算每个学生的平均分
调用aver__cour函数,计算每门课程的平均分
对每个学生
    对每门课
        显示相应的成绩
        显示该学生的平均分
    对每门课
    显示该课程的平均分
调用highest函数找出最高分数及对应的学生和课程
  调用s__var计算方差并显示计算结果

设high为score[0][0]
  对每个学生
    对每门课
                        成绩>high
  T                                                                            F
        high=score[j]
        记下相应的i,j值
返回high

函数input__stu的执行结果是给全程变量学生成绩数组score各元素输入初值。
函数aver__stu的作用是计算每个学生的平均分,并将结果赋给全程变量数组a__cour中各元素。
函数aver__cour的作用是计算每门课程的平均成绩,计算结果存入全程变量数组a__cour.
函数highest的返回值是最高分,r,c是两个全局变量,分别代表最高分所在的行,列号。
函数s__var的返回值是平均分的方差。
程序如下:
#define N 10
#define M 5
fioat score[N][M];
float a_stu[N],a_cour[M];
int r,c;
main()
{ float s_var(void);
  float highest();
  void input_stu(void);
  void aver_stu(void);
  void aver_cour(void);
  int i,j;
  float h;
  input_stu();
  aver_stu();
  aver_cour();
  print("\n NO.      cour1    cour2    cour3    cour4    cour5    aver");
  for(i=0;i<N;i++)
    {print("\n NO.%2d",i+1);
      for(j=0;j<M;j++)
        printf(%8.2f",score[j]);
      printf(%8.2f",a_stu);
    }
  printf("\naverage:")
  for(j=0;j<M;j++)
    printf("%8.2f",a_cour[j]);
  h=highest();
  printf("\nhighest:%7.2f  NO.%2d  course%2d\n"h,r,c);
  printf("\n variance:%8.2f",s_var());
}
void input_stu(void)
{int i,j;
  for (i=0;i<N;i++)
    {printf("\nInput score of student%2d:\n",i+1);
      for (j=0;j<M;j++)
        scanf("%f",&score[j]);
    }
}
voidaver_stu(void)
{int i,j;
  float s;
  for (i=0;i<N;i++)
    {for(j=0,s=0;j<M;j++)
      s+=score[j];
    a_stu=s/5.0;
    }
}

void aver_cour(void)
{int i,j;
  float s;
  for (j=0;j<M;i++)
    {s=0;
      for(i=0;i<N;i++)
        s+=score[j];
      a_cour[j]=s/(float)N;
    }
}
float highest()
{float high;
  int i,j;
  high=score[0][0];
  for i=0;i<N;i++)
    if (score[j]>high)
      {high=score[j];
        r=i+1;
        c=j+1;
      }
  return(high);
}

float s_var(void)
{int i,j;
  fioat sumx,sumxn;
  sumx=0.0;
  sumxn=0.0;
  for (i=0;i<N;i++)
    {sunx+=a_stu*a_stu;
      sumxn+=a_stu;
    }
  return(sumx/N-(sumxn/N)*(sumxn/N);
}

请那位朋友替我写的简单一点或着用别的方法在写一遍
谢谢
最后编辑2005-07-01 17:07:55
分享到:
gototop
 

回复:请朋友进来帮帮忙

该用户帖子内容已被屏蔽

存在的就是合理的!
gototop
 
1   1  /  1  页   跳转
页面顶部
Powered by Discuz!NT