C语言编程求救,在线等答案!!!!!!
#include"stdio.h"main(){intx;floatprice;doublediscount,total;printf("输入顾客购买商品数量:");sc...
#include "stdio.h"
main()
{
int x;
float price;
double discount,total;
printf("输入顾客购买商品数量: ");
scanf("%d",&x);
printf("输入顾客购买商品价格: ");
scanf("%f",&price);
if (x<5)
printf("对不起,不打折");
else if (5<=x && x<10)
discount=price*0.01;
total=price-discount;
printf("打折后应付价格为: %f\n",total);
else if (10<=x && x<20)
discount=price*0.02;
total=price-discount;
printf("打折后应付价格为: %f\n",total);
else if (20<=x && x<30)
discount=price*0.04;
total=price-discount;
printf("打折后应付价格为: %f\n",total);
else
discount=price*0.06;
total=price-discount;
printf("打折后应付价格为: %f\n",total);
}
这是一道普通的买东西按数量打折的题目,我运行程序格式什么都是对的,但是就是 第2个和第3个else if,最后一个else3个行都显示错误,
显示的英文是:illegal else without matching if
请高手帮我看看,谢谢了,方便解释下那个英文是什么意思
不对啊,else if 是不需要加大括号的
而第一个if后面只有一个语句 大括号可以省略。。。。 展开
main()
{
int x;
float price;
double discount,total;
printf("输入顾客购买商品数量: ");
scanf("%d",&x);
printf("输入顾客购买商品价格: ");
scanf("%f",&price);
if (x<5)
printf("对不起,不打折");
else if (5<=x && x<10)
discount=price*0.01;
total=price-discount;
printf("打折后应付价格为: %f\n",total);
else if (10<=x && x<20)
discount=price*0.02;
total=price-discount;
printf("打折后应付价格为: %f\n",total);
else if (20<=x && x<30)
discount=price*0.04;
total=price-discount;
printf("打折后应付价格为: %f\n",total);
else
discount=price*0.06;
total=price-discount;
printf("打折后应付价格为: %f\n",total);
}
这是一道普通的买东西按数量打折的题目,我运行程序格式什么都是对的,但是就是 第2个和第3个else if,最后一个else3个行都显示错误,
显示的英文是:illegal else without matching if
请高手帮我看看,谢谢了,方便解释下那个英文是什么意思
不对啊,else if 是不需要加大括号的
而第一个if后面只有一个语句 大括号可以省略。。。。 展开
1个回答
展开全部
不加大括号程序知道你的else if 到哪里结束?
如果是只有一句的话大括号可以省略
illegal else without matching if意思就是else 缺少if
没有if不能单独使用else
#include "stdio.h"
main()
{
int x;
float price;
double discount,total;
printf("输入顾客购买商品数量: ");
scanf("%d",&x);
printf("输入顾客购买商品价格: ");
scanf("%f",&price);
if (x<5)
printf("对不起,不打折");
else if (5<=x && x<10)
{discount=price*0.01;
total=price-discount;
printf("打折后应付价格为: %f\n",total); }
else if (10<=x && x<20)
{discount=price*0.02;
total=price-discount;
printf("打折后应付价格为: %f\n",total); }
else if (20<=x && x<30)
{discount=price*0.04;
total=price-discount;
printf("打折后应付价格为: %f\n",total); }
else
{discount=price*0.06;
total=price-discount;
printf("打折后应付价格为: %f\n",total); }
}
如果是只有一句的话大括号可以省略
illegal else without matching if意思就是else 缺少if
没有if不能单独使用else
#include "stdio.h"
main()
{
int x;
float price;
double discount,total;
printf("输入顾客购买商品数量: ");
scanf("%d",&x);
printf("输入顾客购买商品价格: ");
scanf("%f",&price);
if (x<5)
printf("对不起,不打折");
else if (5<=x && x<10)
{discount=price*0.01;
total=price-discount;
printf("打折后应付价格为: %f\n",total); }
else if (10<=x && x<20)
{discount=price*0.02;
total=price-discount;
printf("打折后应付价格为: %f\n",total); }
else if (20<=x && x<30)
{discount=price*0.04;
total=price-discount;
printf("打折后应付价格为: %f\n",total); }
else
{discount=price*0.06;
total=price-discount;
printf("打折后应付价格为: %f\n",total); }
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询