weixin_63561831 2021-11-19 11:12 采纳率: 100%
浏览 105
已结题

关于C语言中一维数组的题

随机输入一批(不超过100人)学生的学号和身高,统计超过平均身高或身高超过170cm的学生人数并输出相应的学生信息和统计结果。

img

这是我初步打的代码,问题很大,不知道怎么做

  • 写回答

3条回答 默认 最新

  • 关注

    每次进入while的时候xh[i]还没有赋值呢,都是非0的数,怎么可能会结束循啊。
    你的代码错误太多了,代码修改如下:

    #include <stdio.h>
    int main()
    {
        int i=0,n,sum=0,count=0;
        double avg;
        int xh[100],sg[100];
        while(1)
        {
            scanf("%d%d",&xh[i],&sg[i]);
            if(xh[i] < 0) 
                break;
        
            sum += sg[i];
            i++;
        }
        n = i;
        avg = 1.0*sum/n;
        for (i=0;i<n;i++)
        {
            if(sg[i] > 170 || sg[i] > avg)
                count++;
        }
        printf("超过平均身高或身高超过170cm的学生有%d个,信息:\n",count);
        for (i=0;i<n;i++)
        {
            if(sg[i] > 170 || sg[i] > avg)
                printf("%d %d\n",xh[i],sg[i]);
        }
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
    1人已打赏
查看更多回答(2条)

报告相同问题?

问题事件

  • 请采纳用户回复 11月8日
  • 系统已结题 11月30日
  • 已采纳回答 11月22日
  • 创建了问题 11月19日

悬赏问题

  • ¥20 iOS绕地区网络检测
  • ¥15 python验证码滑块图像识别
  • ¥15 根据背景及设计要求撰写设计报告
  • ¥15 QT6颜色选择对话框显示不完整
  • ¥20 能提供一下思路或者代码吗
  • ¥15 用twincat控制!
  • ¥15 请问一下这个运行结果是怎么来的
  • ¥15 单通道放大电路的工作原理
  • ¥30 YOLO检测微调结果p为1
  • ¥15 DS18B20内部ADC模数转换器