鱼C论坛

 找回密码
 立即注册
查看: 4052|回复: 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);


}
                                                                              求解

最佳答案

查看完整内容

你上面的代码写规范就是下面那个你在自己看看吧
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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


  30.         printf("max=%d\nd=%d\n",max,d);
  31.        
  32.         return 0;
  33. }
复制代码
下面那个你在自己看看吧
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

使用道具 举报

发表于 2013-10-7 20:51:15 | 显示全部楼层
这样会按照顺序进行下去的
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-10-8 16:20:59 | 显示全部楼层
写的有点繁琐额,,,,,,应该跟输入的数有关吧{:1_1:}{:1_1:}{:1_1:}
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-10-8 17:53:32 | 显示全部楼层
写清楚点比较好,
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

使用道具 举报

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

使用道具 举报

发表于 2013-10-9 00:02:12 | 显示全部楼层
请楼主把你做的程序的功能告诉我
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

刚开始学呢
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

现在懂了 ,
谢谢
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-10 21:13

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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