|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
谁能给讲解一下这个代码语义错误的原因
#include<stdio.h>
#define RATE1 0.12589
#define RATE2 0.17901
#define RATE3 0.20971
#define BREAK1 360
#define BREAK2 680
#define BASE1 (RATE1 * BREAK1)
#define BASE2 (BASE1+(BREAK2-BREAK1)*RATE2)
int main()
{
double kwh;
double bill;
printf("Please enter the kwh you used.\n");
while(scanf("%lf",&kwh)==1)
{
if(kwh<=BREAK1)
bill=RATE1*kwh;
else if(kwh<=BREAK2)
bill=BASE1+(BREAK2-kwh)*RATE2;
else
bill=BASE2+(kwh-BREAK2)*RATE3;
printf("The charge for %.lf kwh is $%1.2f.\n",kwh,bill);
}
return 0;
}
当输入580的时候,结果应该是84.70,才对
|
|