鱼C论坛

 找回密码
 立即注册
查看: 3547|回复: 10

还是if语句。。。。

[复制链接]
发表于 2013-10-6 23:29:19 | 显示全部楼层 |阅读模式
1鱼币
#include <stdio.h>
main ()
{
int a,b,c,d,max,min;
printf("输入三个数: \n");
scanf("%d%d%d%d",&a,&b,&c,&d);
max=a;
if(max<b)
  max=b;
if(max<c)
  max=c;
if(max<d)
  max=d;
else
  if(c<d)         为什么这个就不执行了 把这个换成 if就可以了  
  d=5;
printf("max=%d\nd=%d\n",max,d);


}
#include <stdio.h>
main ()
{
int a,b,c,max,min;
printf("输入三个数: \n");
scanf("%d%d%d",&a,&b,&c);
if(a<b)
{
  max=b;
  min=a;
}
else
{
  max=a;
  min=b;
}
if(max<c)
  max=c;
else
  if(min>c)         这个程序的这里为什么又可以执行
   min=c;
printf("max=%d\nmin=%d\n",max,min);


}
                                                                              求解

最佳答案

查看完整内容

你上面的代码写规范就是下面那个你在自己看看吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-10-6 23:29:20 | 显示全部楼层
你上面的代码写规范就是
#include <stdio.h>
int main ()
{
        int a,b,c,d,max,min;
        printf("输入三个数: \n");
        scanf("%d%d%d%d",&a,&b,&c,&d);
        max=a;
        if(max<b)
        {
                max=b;
        }
        if(max<c)
        {
                max=c;
        }
        
        
        if(max<d)//如果max<d成立就不会执行else的全部语句
        {
                max=d;
        }
        else 
        {
                if(c<d) //如果max>d 在判断 c是否<d 如果成立就执行 d = 5;
                            //你输入 6 1 2 3 输出就是 6 和 5了
                {
                        d=5;
                }
        }


        printf("max=%d\nd=%d\n",max,d);
        
        return 0;
}
下面那个你在自己看看吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-10-7 12:50:37 | 显示全部楼层
写的好复杂,第一个程序的目的没看懂,刚开始还是找出abcd的最大值,怎么后来又给d赋值了。完全看不懂第一个程序的目的。
第二个程序是返回abc中的最大值和最小值。不过编的好复杂,直接用数组和循环就可以了.
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-10-7 20:51:15 | 显示全部楼层
这样会按照顺序进行下去的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-10-8 16:20:59 | 显示全部楼层
写的有点繁琐额,,,,,,应该跟输入的数有关吧{:1_1:}{:1_1:}{:1_1:}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-10-8 17:53:32 | 显示全部楼层
写清楚点比较好,
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-10-8 23:12:16 | 显示全部楼层
逻辑好乱,反正if和else是就近配对原则,判断三个数的大小,只需要把a分别和b、c比较的结果与b、c比较即可。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-10-8 23:59:25 | 显示全部楼层
第一个程序,有问题!你这个是要输入3个数呢,还是4个数。如果是4个数,最后一句d还要赋值5干嘛。
另外如果你是输入三个数,“if(max<d)”d没有赋任何值呀。不知道楼主想干嘛
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-10-9 00:02:12 | 显示全部楼层
请楼主把你做的程序的功能告诉我
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-10-10 19:50:18 | 显示全部楼层

刚开始学呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-10-10 19:51:38 | 显示全部楼层
福禄娃娃 发表于 2013-10-8 23:12
逻辑好乱,反正if和else是就近配对原则,判断三个数的大小,只需要把a分别和b、c比较的结果与b、c比较即可。 ...

现在懂了 ,
谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-23 18:19

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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