白圭青 2022-05-29 11:00 采纳率: 100%
浏览 115
已结题

建立动态数组,输入5个学生成绩,另外用一个函数检查其中有无低于60分的,输出不合格成绩

建立动态数组,输入5个学生成绩,另外用一个函数检查其中有无低于60分的,输出不合格成绩

  • 写回答

1条回答 默认 最新

  • a5156520 2022-06-01 11:25
    关注

    一个实现,供参考:

    #include <stdio.h>
    #include <stdlib.h> //提供malloc原型 
    //获取5个学生成绩输入 
    int * getScores(){
        //为存储5个学生成绩分配内存空间,让一个int指针指向这块内存, 如果需要改为浮点数类型,可以进行相应修改 
        int * scores=(int *)malloc(5*sizeof(int)); 
        
        int i=0;
        //从输入获取5个学生成绩 
        while(i<5) {
            printf("请输入第%d个学生的成绩:",i+1);
            scanf("%d",&scores[i]);
            i++;
        }
        
        return scores;  //返回指向5个学生成绩的指针 
    } 
    
    //显示成绩不及格学生的信息 
    void showNoPass(int * scores){
        
        int i=0;
        int nopass=0;
        while(i<5){
            //存在低于60分的成绩就打印信息 
            if(scores[i]<60){
                if(nopass==0){
                    printf("低于60分的分数如下:\n");
                }
                printf("%d ",scores[i]);
                nopass++;
            }
            i++;
        }
        
        //不存在低于60分的成绩也输出提示信息,也可以删去下面这段代码 
        if(nopass==0){
            printf("没有分数低于60分的成绩。\n"); 
        } 
    }
    
    int main(void){
        
        //执行获取成绩输入的函数 
        int * scores =getScores();
        //执行显示成绩不合格学生的信息的函数 
        showNoPass(scores);
        
        return 0;
        
    }
    
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 6月17日
  • 已采纳回答 6月9日
  • 创建了问题 5月29日

悬赏问题

  • ¥35 引用csv数据文件(4列1800行),通过高斯-赛德尔法拟合曲线,在选取(每五十点取1点)数据,求该数据点的曲率中心。
  • ¥20 程序只发送0X01,串口助手显示不正确,配置看了没有问题115200-8-1-no,如何解决?
  • ¥15 Google speech command 数据集获取
  • ¥15 vue3+element-plus页面崩溃
  • ¥15 像这种代码要怎么跑起来?
  • ¥15 安卓C读取/dev/fastpipe屏幕像素数据
  • ¥15 pyqt5tools安装失败
  • ¥15 mmdetection
  • ¥15 nginx代理报502的错误
  • ¥100 当AWR1843发送完设置的固定帧后,如何使其再发送第一次的帧