#include"stdio.h"
int main()
{
double a;
double b=0.0;
scanf("%1f",&a);
if(a<500)
b=a;
else if(a<1000)
b=a*0.95;
else if(a<3000)
b=a*0.9;
else if(a<5000)
b=a*0.85;
else
b=a*0.8;
printf("%.2f\n",b);
return 0;
}
/*
#include"stdio.h"
int main()
{
double a;
double sum=0.0;
scanf("%lf",&a);
if(a<500)
sum=a;
else if(a<1000)
sum=a*0.95;
else if(a<3000)
sum=a*0.9;
else if(a<5000)
sum=a*0.85;
else
sum=a*0.8;
printf("%.2f\n",sum);
return 0;
} */
上面的程序中是scanf("%1f",&a);有一些编译器会直接出错误,运行出错,
下面的scanf("%lf",&a);表示赋值的是double类型;
scanf("%1f",&a);
和
scanf("%lf",&a);