破灬王 发表于 2014-6-13 17:04:07

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

题目是:输入三个整数,求最大值和最小值。
这是鱼哥的:
#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,起到了一个存放的地方,在比较。

页: [1]
查看完整版本: 复习了一下C语言基础入门发现鱼哥 第四文章分支结构程序4 有点漏洞