我的代碼哪里有問題?
#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;
}
得到的結(jié)果是68
#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;
}
得到的結(jié)果是68
2018-07-26
舉報(bào)
2018-07-26
int HS1(int a ,int b),因?yàn)槟惆押瘮?shù)定義為int類型,原本算出來的q=34.7,取整后變?yōu)?4。所以應(yīng)該把int換成float。
另外,第8行的if(5<=a||a<23)應(yīng)改為if(5<=a&&a<23)。還有,你的代碼格式有點(diǎn)混亂,且沒有注釋,不便于閱讀。