bzdq888 2022-11-12 23:13 采纳率: 75%
浏览 17
已结题

加if语句后不输出结果

#include<stdio.h>

int main()

{
float avg (float b[],float n);

float a[10]={96.0,86.0,95.0,75.5,64.5,91.5,89.5,55.0,89.5,90.0};
float x,d;

printf("1.输出平均分\n2.输出及格和不及格人数\n0.退出\n");

printf("请选择:");
scanf("%d",&d);

if (d==1)
{x=avg(a,10);
printf("%.f\n",x);
}
}

float avg (float b[],float n)
{
float j,sum=0;
int i;
for(i=0;i<10;i++)
sum=sum+b[i];
j=sum/10;
return j;
}

这个加了if语句后就不出结果了,如果去了if语句还是可以运行的,有没有人解释一下啊,谢谢了

  • 写回答

3条回答 默认 最新

  • bingbingyihao 2022-11-12 23:48
    关注

    回答:改一下输入,改为 int 类型的

    img

    #include<stdio.h>
    
    float avg(float b[], float n);
    
    int main()
    {
        float a[10] = { 96.0, 86.0, 95.0, 75.5, 64.5, 91.5, 89.5, 55.0, 89.5, 90.0 };
        float x;
        int d;
    
        printf("1.输出平均分\n2.输出及格和不及格人数\n0.退出\n");
    
        printf("请选择:");
        scanf("%d", &d);
    
        if (d == 1)
        {
            x = avg(a, 10);
            printf("%.f\n", x);
        }
    }
    
    float avg(float b[], float n)
    {
        float j, sum = 0;
        int i;
        for (i = 0; i < 10; i++)
            sum = sum + b[i];
        j = sum / 10;
        return j;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 11月20日
  • 已采纳回答 11月12日
  • 创建了问题 11月12日

悬赏问题

  • ¥15 求螺旋焊缝的图像处理
  • ¥15 blast算法(相关搜索:数据库)
  • ¥15 请问有人会紧聚焦相关的matlab知识嘛?
  • ¥15 网络通信安全解决方案
  • ¥50 yalmip+Gurobi
  • ¥20 win10修改放大文本以及缩放与布局后蓝屏无法正常进入桌面
  • ¥15 itunes恢复数据最后一步发生错误
  • ¥15 关于#windows#的问题:2024年5月15日的win11更新后资源管理器没有地址栏了顶部的地址栏和文件搜索都消失了
  • ¥100 H5网页如何调用微信扫一扫功能?
  • ¥15 讲解电路图,付费求解