搜索

这段程序不懂求大佬们给讲讲

查看数: 643 | 评论数: 6 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2019-7-12 21:07

正文摘要:

第2个if 为啥不写成 if(b>=a&&b>=c);第三个为啥不写成if(c>=a &&c>=b) 想不明白。 还有这三个if  相互影响吗

回复

厖仁摸嚮 发表于 2020-1-16 20:59:28
因为没有使用else,所以为了防止重复输出要在后面两个if语句里排除等于的情况
暴风 发表于 2019-11-17 20:14:53
本人也是小白,对于这段代码 个人认为
  if(a>=b && a>=c) printf("%d",a);    a>=b  a>=c   时 a比b大 或者等于b 并且  a比c大 或者等于c,所以输出a这个应该可以理解
if(b>a && b>=c) printf("%d",b);     这里b>a 就可以的原因是 上一行中有了a>=b  所以不用再判断是够等于的这个动作了,所以在这第二行中,就可以直接判断b是否比a大即可,等于的判断,a=b和b=a不是一样的吗?所以上面第一个if中已经判断过了所以,这里就可以不用再次判断了。
if(c>a && c>b) printf("%d",c);         这里也是一样的,所以,个人在看这个代码的时候简单的方法是看等于的事项有几次等于,在这三段代码中分别有了a>=b  a>=c  b>=c  所以相等关系已经都体现出来了,所以个人认为代码是很严谨的。
纯数孤傲 发表于 2019-7-28 20:01:31
c39486s 发表于 2019-7-27 12:00
#include  #include  int main() {    int a,b,c;    scanf("%d %d %d",&a,&b,&c);    if(a>b && a>c) prin ...

当a=1,b=1,c=1时,你运行程序看看,没有任何输出!


冰山qd 发表于 2019-7-28 16:05:14
输入三个数,输出三者中最大的那个
c39486s 发表于 2019-7-27 12:00:28
#include <stdio.h> #include <stdlib.h> int main() {    int a,b,c;    scanf("%d %d %d",&a,&b,&c);    if(a>b && a>c) printf("%d",a);    if(b<a && b>c) printf("%d",b);    if(c<a && c<b) printf("%d",c);        system("pause");     return 0;
c39486s 发表于 2019-7-27 11:59:26
本帖最后由 c39486s 于 2019-7-27 12:05 编辑

本人小白,有点不懂,你这个可能是逻辑的问题,我照你的这段把它的逻辑改了一下可以运行,但不知道和你想要的一不一致。在if里面包含的数值a,b,c之间只要他们逻辑没问题就行,

333.PNG (178.83 KB, 下载次数: 1)

333.PNG
快速回复 返回顶部 返回列表