根据消费情况选择食堂是否送餐,如果消费总额在30元以上,食堂免费送餐,否则加收5元送餐费,当然可以选择不送餐,去食堂自取。如果消费总额在30-50元,则打9.5折,超过50打9折,计算并输出最后应付多少钱。(嵌套if实现)
问题:为什么我输入消费33元的时候会自动运行第一层if下面的else,我并没有选取餐方式
ps:q表示取餐,z表示自取餐,s表示送餐

#include <stdio.h>
void main()
{
int a;
char q;
double pay;
printf("消费为:\n");
scanf("%d",&a);
if(a>=30&&a<=50)
{
printf("请选择取餐方式:\n");
scanf("%c",&q);
pay=a*(1-0.05);
if(q=='s')
{
printf("我们将为您免费送餐!\n");
}
else
{
printf("我们将为您尽快准备!\n");
}
printf("应付金额为:%.2f\n",pay);
}
else
{
printf("请选择取餐方式:\n");
scanf("%c",&q);
if(q=='z')
{
pay=a;
}
else
{
pay=a+5;
}
printf("应付金额为:%.2f\n",pay);
}
}
各位帮我看一下,感谢感谢!!!
问题:为什么我输入消费33元的时候会自动运行第一层if下面的else,我并没有选取餐方式
ps:q表示取餐,z表示自取餐,s表示送餐

#include <stdio.h>
void main()
{
int a;
char q;
double pay;
printf("消费为:\n");
scanf("%d",&a);
if(a>=30&&a<=50)
{
printf("请选择取餐方式:\n");
scanf("%c",&q);
pay=a*(1-0.05);
if(q=='s')
{
printf("我们将为您免费送餐!\n");
}
else
{
printf("我们将为您尽快准备!\n");
}
printf("应付金额为:%.2f\n",pay);
}
else
{
printf("请选择取餐方式:\n");
scanf("%c",&q);
if(q=='z')
{
pay=a;
}
else
{
pay=a+5;
}
printf("应付金额为:%.2f\n",pay);
}
}
各位帮我看一下,感谢感谢!!!

