4个if语句,对四个用户输入的数字进行 输出最大和最小值!
(2011-04-11 13:40:00)
标签:
杂谈 |
分类: LanguageC |
一直过来,跟着这本书编程,没有遇到什么障碍,昨天小小的挫折,有点小小的打击呀..
郁闷,虽然不是很难,因为我都是用别的方法解决的,
郁闷,虽然不是很难,因为我都是用别的方法解决的,
但是就是想不出来呢,别人都说有道理的方法,我就偏偏想不出来为什么,
请教了新加的qq好友,他给了我两次提示,没错,我也看了,
但是我考虑的东西的重点似乎跟他理解我的有点不同,我就是搞不懂呢,需要耐心~
int
a,b,c,d,max,min;
scanf("%d %d %d
%d",&a,&b,&c,&d);
if(a > b)
{
max = a;
min = b;
}
else
{
max = b;
min = a;
}
if(max > b)
min = b;
else max = b;
if(max > c)
min = c;/888888
else max = c;
if(max > d)
min = d;/999999
else max = d;
printf("The Largest
One:%d\n",max);
printf("The Smallest
One:%d\n",min);
return 0;
max =b,假如 max > c 真值为0(即max
< c); max 就是c呢?(这个我也明白)
int
a,b,c,d,max1,max2,min1,min2;
scanf("%d %d %d
%d",&a,&b,&c,&d);
max1 =
b; min1 = a;
max2 =
d; min2 = c;
if(a
> b){max1 = a;min1 = b;}
if(c
> d){max2 = c;min2 = d;}
if(max1
< max2) max1 = max2;
if(min1
> min2) min1 = min2;
printf("%d %d",max1,min1);
(max1 min1)
第三步:max1和max2比较,把大的值赋给max1
min1和min2比较,把小的值赋给min1
(max1 min1)
(max2 min2)
第二步:a和b 比较,把大的值和小的值
赋给max1 和 min1
c和d 比较,把大的值和小的值
赋给max2 和 min2
(a)
(b) (c)
(d)
第一步:输入四个数
请教了新加的qq好友,他给了我两次提示,没错,我也看了,
但是我考虑的东西的重点似乎跟他理解我的有点不同,我就是搞不懂呢,需要耐心~
刚刚在编其他练习题的时候,很郁闷的想尽快把博客文章写出来,以宣泄一下:
在日后解决,完全懂了那道题后,在补充关于此题的一些想法:
在日后解决,完全懂了那道题后,在补充关于此题的一些想法:
此题是:要求的是:只用四个if语句,把用户输入的a、b、c、d四个数 进行输出最大和最小值.
答案:
#include <stdio.h>
int main()
{
}
让我搞不明白的是:if(max > c) min =
c;(标记了/888888的地方)
和if(max > d)
min = d;标记了/999999的地方)
如果 max = a,那假如 max > c 真知为1 ,那为什么min 就是c呢?(b和c
都没有进行比较!!)
或者max = b, 那假如 max > c 真值为1 ,那为什么min 就是c呢?(a和c
都没有进行比较!!)
再或者 max =a,假如 max > c 真值为0(即max
< c); max 就是c呢(这个我明白)
很是郁闷呀,我要找答案!求高手解答:关于上述求最小值的问题!
//-----------------------------------------------------------------------------------------
以上的方法:是百度知道里面一个网友解释的,而且还下一楼竟然有人说!
楼上正解!
郁闷,经过了和同学的讨论,以上的方法错误,而且错误就是处在我考虑的地方上!
再经过同学的思考,当然还有我的:
正确的方法应该是:
#include<stdio.h>
void main()
{
}
为了缩减文章的“规模”,我用以上不是很规范的格式写了,准确来说,是复制了一下!
此方法的思路是:

加载中…