网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
01月20日漏签0天
c语言吧 关注:801,825贴子:4,375,169
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 5回复贴,共1页
<<返回c语言吧
>0< 加载中...

嵌套if问题

  • 只看楼主
  • 收藏

  • 回复
  • 丨卜bo
  • 低能力者
    5
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
根据消费情况选择食堂是否送餐,如果消费总额在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);
}
}
各位帮我看一下,感谢感谢!!!


  • AN-drew
  • 小吧主
    13
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
scanf("%d", &a);下面加一行getchar();
因为输入之后按回车键会带来一个换行符,进入第一个if,到下面输入取餐方式时就会读取换行符,不等于's',进入else


2026-01-20 04:39:48
广告
不感兴趣
开通SVIP免广告
  • 笨笨选手
  • 便当
    3
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
羡慕你们C语言吧,java吧全都是培训,自学,营销号,偶尔才有大神来解答


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 5回复贴,共1页
<<返回c语言吧
分享到:
©2026 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示