请问为什么会计算出错
我的代码如下#include <stdio.h>
int main()
{
double w;
double cost;
printf("请输入月用电量(千瓦时):");
scanf("%lf",&w);
if(w<0){
printf("Invalid Value!");
}
else if(0<=w<50){
cost=0.53*w;
printf("应支付电费:%f",cost);
}
else{
cost=0.53*w+0.05*(w-50);
printf("应支付电费:%f",cost );
}
return 0;
}
当输入大于50的数字时,结果会出现问题,不准确
本帖最后由 jackz007 于 2022-10-4 17:32 编辑
C 语言不允许这样写
else if(0<=w<50){
应该改为
else if(w >= 0 && w < 50){
此外
printf("应支付电费:%lf",cost) ;// double 对应的格式描述符是 "%lf"
. . . . . .
printf("应支付电费:%lf",cost ) ; // double 对应的格式描述符是 "%lf" jackz007 发表于 2022-10-4 17:29
C 语言不允许这样写
应该改为
printf 里 double 对应的描述符就是 f ,没有 lf 一说( lf 中的 l 不产生任何效果)
页:
[1]