搜索
编程论坛
→
.NET专区
→
『 C# 论坛 』
→ 关于3个数字排列问题,搞不明白
标题:
关于3个数字排列问题,搞不明白
只看楼主
zm195744172
等 级:
新手上路
帖 子:6
专家分:0
注 册:2011-10-14
楼主
问题点数:0 回复次数:7
关于3个数字排列问题,搞不明白
int a = 2,
b = 3,
c = 4;
int m, n, l, k;
m=a<b?a:b;
n=m<c?m:c;
l=a>b?a:b;
k=c>l?c:l;
Console.WriteLine("a=2, b=3, c=4");
Console.WriteLine("{0}>{1}>{2}", k,
l
, n);
Console.ReadLine();
我想问一下倒数第二行的
l
为什么不能换成
m
,苦恼中。。。
搜索更多相关主题的帖子:
倒数
2011-10-15 07:44
zm195744172
等 级:
新手上路
帖 子:6
专家分:0
注 册:2011-10-14
第
2
楼
得分:0
在线等哦。。。新手,勿笑
2011-10-15 07:45
zm195744172
等 级:
新手上路
帖 子:6
专家分:0
注 册:2011-10-14
第
3
楼
得分:0
顶上来。。。。
2011-10-15 08:59
zm195744172
等 级:
新手上路
帖 子:6
专家分:0
注 册:2011-10-14
第
4
楼
得分:0
有人没????
2011-10-15 09:06
yhlvht
等 级:
贵宾
威 望:
36
帖 子:707
专家分:4405
注 册:2011-9-30
第
5
楼
得分:0
1、m=a<b?a:b;
2、n=m<c?m:c;
3、l=a>b?a:b;
4、k=c>l?c:l;
楼主有仔细看懂上述4个表达式没,
从第3个表达式,可以看出,l记录的是a和b之间的大的那个;从第4个表达式看出,k是记录c和l之间的大的那个,也就是k是记录c与a、b之间大的数比;
那么得出 k是(最大),l是(最大或第二大),
同样的原理n是(最小),m是(最小或第二小)
所以得出k和l可能相等,m和n可能相等,换句话说,这个算法是有问题的
因为abc的值确定,那么我们就可以算出,m=2,n=2,l=3,k=4,如果要输出4 > 3 > 2 ,那么就一定是 k > l > m(或n), 所以中间那个一定是l
2011-10-15 11:38
ilikeliyun
等 级:
新手上路
帖 子:2
专家分:0
注 册:2011-9-29
第
6
楼
得分:0
ndsh
2011-10-15 13:19
zm195744172
等 级:
新手上路
帖 子:6
专家分:0
注 册:2011-10-14
第
7
楼
得分:0
还是不太明白。。。天。
2011-10-15 20:27
yhlvht
等 级:
贵宾
威 望:
36
帖 子:707
专家分:4405
注 册:2011-9-30
第
8
楼
得分:0
m=a<b?a:b;
像这样的表达式,能看懂吗?
这是三目运算
?号前面,表示判断,如果为true 就赋 :前面的值,如果为false 就赋 :后面的值
这样的语句等同于
if(a < b)
{
m = a;
}
else
{
m = b;
}
你要能看懂代码,就能理解了
2011-10-15 23:48
8
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-352502-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.179081 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved