问答详情
源自:5-14 综合练习

我的代码哪里有问题?

#include <stdio.h>

float q;

int HS1(int a ,int b)

{if(b<=3)

{q=14;}

else

{

if(5<=a||a<23)

{

q=14+2.3*(b-3);

}

else

{

q=14+2.3*1.2*(b-3);

}

return q;

}

}

int main()

{

q= HS1(9,12)+HS1(18,12);

 printf("%f\n",q);

return 0;

}

得到的结果是68

提问者:story苏 2018-07-26 17:31

个回答

  • love破冰者
    2018-07-26 22:55:04
    已采纳

    int HS1(int a ,int b),因为你把函数定义为int类型,原本算出来的q=34.7,取整后变为34。所以应该把int换成float。

    另外,第8行的if(5<=a||a<23)应改为if(5<=a&&a<23)。还有,你的代码格式有点混乱,且没有注释,不便于阅读。