鱼C论坛

 找回密码
 立即注册
查看: 2106|回复: 0

[技术交流] 复习了一下C语言基础入门发现鱼哥 第四文章分支结构程序4 有点漏洞

[复制链接]
发表于 2014-6-13 17:04:07 | 显示全部楼层 |阅读模式

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

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

x
题目是:输入三个整数,求最大值和最小值。
这是鱼哥的:
#include <stdio.h>
void main()
{
int a, b, c, max, min;
scanf("%d %d %d",&a,&b,&c);
if(a > b)
{
  max = a;
  min = b;
}
else
{
  max = b;
  min = a;
}
if(min < c)
{
  max = c;

  
}
else if(min > c)
{
  min = c;

}
printf("max = %d min = %d\n", max, min);
}




这是我自己小小的改了下:  入门的希望能帮到鱼友们。
#include <stdio.h>
void main()
{
int a, b, c, max, min,d = 0;               //定义了6个整形变量
scanf("%d %d %d",&a,&b,&c);       //请输入3个整数
if(a > b)                                            //如果a大于b 把最大的值赋值给a,最小值赋值给b
{
  max = a;
  min = b;
}
else                                             //如果b大于a 把最大值赋值给b,最小值赋值给a
{
  max = b;
  min = a;
}
if(min < c)                          //用最小值跟C比较 如果min 比 c 小把c的值赋值给d,然后在跟max比d小就吧最大值赋值给C
{
  d = c;
  if(max < d)
  {
   max = d;
  }
  
}
else if(min > c)   //min比c大,把C的值赋值给d, 然后 在比较 d小于min就吧 ,最小值给d.
{
  d = c;
  if(min < d)
  {
   min = d;
  }
}
printf("max = %d min = %d\n", max, min);
}

重点就在d,起到了一个存放的地方,在比较。  

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-28 05:59

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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