大佬们帮我看看我的屎山为什么输出的是0.00,而不是我要计算的值吗?
代码#include<stdio.h>
int main(void)
{
double i,num;
printf("请输入当月利润:");
scanf("%.2f",&i);
if(i>=10)
{
if(i>=20)
{
if(i>=40)
{
if(i>=60)
{
if(i>=100)
{
num=1+0.75+0.6+0.3+(i-100)*0.01;
}
else
{
num=1+0.75+1+0.6+(i-60)*0.015;
}
}
else
{
num=1+0.75+1+(i-40)*0.03;
}
}
else
{
num=1+0.75+(i-20)*0.05;
}
}
else
{
num=(1-10)*0.075+1;
}
}
else
{
num=i*0.1;
}
printf("应发奖金总数为:%.2f\n",num);
getchar();
return 0;
}
与%.2f无关 123666666 发表于 2022-4-8 06:03
与%.2f无关
咋无关呢double可以试一下lf% 这循环写法 眼前一亮 #include<stdio.h>
int main(void)
{
double i,num;
printf("请输入当月利润:");
scanf("%lf",&i); //为什么要精度输入?格式化输入,用lf就可以了,你最后已经精度输出了
if(i>=10)
{
if(i>=20)
{
if(i>=40)
{
if(i>=60)
{
if(i>=100)
{
num=1+0.75+0.6+0.3+(i-100)*0.01;
}
else
{
num=1+0.75+1+0.6+(i-60)*0.015;
}
}
else
{
num=1+0.75+1+(i-40)*0.03;
}
}
else
{
num=1+0.75+(i-20)*0.05;
}
}
else
{
num=(1-10)*0.075+1; //这里如果我没猜错,应该是i-10而不是1-10吧
}
}
else
{
num=i*0.1;
}
printf("应发奖金总数为:%.2f\n",num);
getchar();
return 0;
}
yzzc 发表于 2022-4-8 15:36
#include
int main(void)
{
谢谢
页:
[1]