我的代码哪里有问题?

来源:5-14 综合练习

story苏

2018-07-26 17:31

#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

写回答 关注

1回答

  • 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)。还有,你的代码格式有点混乱,且没有注释,不便于阅读。

    story苏

    非常感谢!

    2018-07-30 14:20:58

    共 1 条回复 >

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926866 学习 · 21014 问题

查看课程

相似问题