为什么计算结果不对
#include<stdio.h>#define r 0.1
int main()
{
float I,P;
scanf("%f",&I);
if(I<=100000)
{
P=I*r;
}
if(I<=200000&&I>100000)
{
P=(I-100000)*(3/4*r)+100000*r;
}
if(I<=400000&&I>200000)
{
P=(I-200000)*(1/2*r)+100000*(3/4*r)+100000*r;
}
if(I<=600000&&I>400000)
{
P=(I-400000)*(0.3*r)+200000*(1/2*r)+100000*(3/4*r)+100000*r;
}
if(I<=1000000&&I>600000)
{
P=(I-600000)*(0.15*r)+200000*(0.3*r)+200000*(1/2*r)+100000*(3/4*r)+100000*r;
}
if(I>1000000)
{
P=(I-1000000)*(0.1*r)+400000*(0.15*r)+200000*(0.3*r)+200000*(1/2*r)+100000*(3/4*r)+100000*r;
}
printf("%f",P);
return 0;
}
输入500000,运行结果不对,为什么 在这里1/2,3/4这样的表达式是否能得到你预想中的值呢 henkuderen 发表于 2022-10-13 11:21
在这里1/2,3/4这样的表达式是否能得到你预想中的值呢
明白了,应该写成1.0/2和3.0/4
页:
[1]