0
点赞
收藏
分享

微信扫一扫

c语言教材-指针习题最后一题

王栩的文字 2022-06-08 阅读 52

某一个班级有4名学生,每个学生有5门课程。分别编写3个函数实现如下要求:

(1)求第一门课程的平均分;

(2)找出有两门以上课程不及格的学生,输出他们的学号和全部课程成绩及平均成绩;

(3)找出平均成绩在90分以上或全部课程成绩在85分以上的学生;

 

源代码:

#include <stdio.h>

//第一门课的平均成绩
double average(int m[4][5])
{
  int i;
  double sum = 0, aver;
  for (i = 0; i < 4; i++)
  {
    sum += m[i][0];
  }
  aver = sum / 4;
  return aver;
}

void fail(int m[4][5])
{
  int i,j,n;
  for (i = 0; i < 4; i++)
  {
    n = 0;
    for (j = 0; j < 5; j++)
    {
      if (m[i][j] < 60)
        ++n;

      if (n >= 2)
      {
        printf("第%2d个学生%5d%5d%5d%5d%5d\n", i + 1, m[i][0], m[i][1], m[i][2], m[i][3], m[i][4]);
        break;
      }
    }
  }
}
int main()
{
  int i, j;
  int(*point)[5];
  int score[4][5] = {
          {81,90,96,98,99},
          {55,49,66,58,61},
          {71,57,48,62,60},
          {98,87,88,99,99} };
  point = score;
  printf("4个学生5门课成绩:\n\n");
  for (i = 0; i < 4; i++)
  {
    for (j = 0; j < 5; j++)
    {
      printf("%3d", score[i][j]);
    }
    printf("\n");
  }
  printf("\n\n");

  //第一门课程的平均分
  double sum = 0, avg;
  avg = average(point);
  printf("第一门课程的平均分:%.1f ", avg);
  printf("\n\n");

  //找出有两门课不及格的学生
  printf("有两门以上课程不及格的学生:\n");
  fail(point);

  //平均成绩在90分以上
  printf("\n\n");
  printf("平均成绩在90分以上的学生:\n");
  double summ, aveg;
  for (i = 0; i < 4; i++)
  {
    summ = 0;
    for (j = 0; j < 5; j++)
    {
      summ += score[i][j];
    }
    aveg = summ / 5;
    if (aveg >= 90)
    {
      printf("第%2d 个学生",i+1);
      for (j = 0; j < 5; j++)
        printf("%5d", score[i][j]);
      printf("\n");
    }
  }

  //全部课程在85分以上的学生
  for (i = 0; i < 4; i++)
  {
    if (score[i][0] > 85 && score[i][1] > 85 && score[i][2] > 85 && score[i][3] > 85 && score[i][4] > 85)
      printf("\n\n全部课程在85分以上的学生是:第%2d个学生\n\n", i+1);
  }
  return 1;
}

运行结果:

 

c语言教材-指针习题最后一题_#include

 


举报

相关推荐

0 条评论