鱼C论坛

 找回密码
 立即注册
查看: 1146|回复: 3

关于if else 在加if的判定问题

[复制链接]
发表于 2022-1-10 02:07:11 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 丰色丶 于 2022-1-10 02:15 编辑

题目如下:
                输入三个整数,输出三个数中的最小数,要求填空:
                                                                int x,y,z min;
                                                                scanf("%d%d%d",x,y,z);
                                                                if(填空区域)         min = x;
                                                                else                        min = y;
                                                                if(填空区域)        min = z;
                                                                printf("%d\n",min);
我填第一空为 x<y && x<z
第二空为 z<x && z<y
得到的答案为正常的但是不明白ifelse如何判断的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-1-10 08:11:13 | 显示全部楼层
1、假设x是最小的,那么他就满足第一个if 语句,将其赋值给min = x
2、如果x不是最小的,那么最小的就在y z当中,本题就是假设是y最小 min = y
3、如果y是最小,那么下一个if就不会执行, 直接输出,但如果z比y还小,那么min =z

第二步你可以假设是z是最小的,那么下面if语句就要改成 y<x && y<z,判断逻辑是一样的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-1-10 12:53:15 | 显示全部楼层
  1. if(x<y)        
  2.              min = x;
  3.                                                                
  4. else                       
  5.              min = y;
  6.                                                                
  7. if(min>z)        
  8.         min = z;
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-1-10 19:45:25 From FishC Mobile | 显示全部楼层
可能你没弄懂&&运算符
它表示的是两边同时为真才为真
第一个if
如果x<y 和 x<z同时成立
就把x放到min变量中
否则就把y放到min变量中
第二个
如果 z<x 和 z<y同时成立
就把z放到min变量中
最后输出变量min就是最小的数
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-21 18:15

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表