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


    某一个班级有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;

    }

    运行结果:

  • 相关阅读:
    nodejs中的全局函数setTimeout/clearTimeout,setInterval/clearInterval,unref/ref
    nodejs的核心对象console
    创建一个服务器,解析当前的url并根据url并作出相应的响应
    nodejs创建服务并加载一个html文件
    nodejs读文件
    Get和Post的区别
    ui-grid 网格布局--jQueryMobile
    web开发常见问题
    全选和全不选
    微信小程序-调用工具js文件/utils文件中的函数/变量
  • 原文地址:https://www.cnblogs.com/duanqibo/p/16089626.html
Copyright © 2020-2023  润新知