这个程序哪里错了,请各位帮帮忙拉,我刚学C语言

来源:百度知道 编辑:UC知道 时间:2024/05/21 15:44:53
#include <stdio.h>
void main()
{
double lr,jjzs;

printf("\n 请输入利润: ");
scanf("%f",&lr);

if(lr<=10)
jjzs = lr*0.01;
printf("\n 发放的奖金总数= %7.2f万元",jjzs);

else if ((lr>10) && (lr<20))
jjzs = lr*0.075;
printf("\n 发放的奖金总数= %7.2f万元",jjzs);

else if ((lr>20) && (lr<40))
jjzs = lr*0.05;
printf("\n 发放的奖金总数= %7.2f万元",jjzs);

else if ((lr>40) && (lr<60))
jjzs = lr*0.03;
printf("\n 发放的奖金总数= %7.2f万元",jjzs);

else if ((lr>60) && (lr<100))
jjzs = lr*0.015;
printf("\n 发放的奖金总数= %7.2f万元",jjzs);

else if (lr>100)
jjzs = lr*0.01;
printf("\n 发放的奖金总数= %7.2f万元",jjzs);

}
个位有没有运行过啊?
为什么这个计算结果的数字不对的啊

if(lr<=10)
jjzs = lr*0.01;
printf("\n 发放的奖金总数= %7.2f万元",jjzs);

else if ((lr>10) && (lr<20))
jjzs = lr*0.075;
printf("\n 发放的奖金总数= %7.2f万元",jjzs);

试试看改成:
if(lr<=10)
{
jjzs = lr*0.01;
printf("\n 发放的奖金总数= %7.2f万元",jjzs);
}

else if ((lr>10) && (lr<20))
{
jjzs = lr*0.075;
printf("\n 发放的奖金总数= %7.2f万元",jjzs);
}
我记得好像要加上括号的,因为括号中的两句是一起执行的!
其他的都要这么加括号哟,呼呼。

每个代码段都没打{}.

没错,除了{},另外对LR的判断有遗漏。
比如else if ((lr>10) && (lr<20))
或许应该为
else if ((lr>10) && (lr<=20))
其他类似。

几个括号没加
通常情况下IF语句如果只有一句那么不有{}没关系
但是2行以上必须加这个,所以尽量养成即使只有一句也加上{}的习惯