当前位置: 代码迷 >> C语言 >> 新手问题(广陵绝唱,我又来了)
  详细解决方案

新手问题(广陵绝唱,我又来了)

热度:220   发布时间:2008-04-08 19:41:41.0
......有人(28楼)先说了
呵呵~~~
广陵的比喻很好,支持.
----------------解决方案--------------------------------------------------------
28楼的是什么意思啊~~~不明白哦!!!
----------------解决方案--------------------------------------------------------
[bo]以下是引用 [un]zjh19840213[/un] 在 2008-3-31 09:23 的发言:[/bo]

书本上一简单问题:
例:输入三个数,按大小顺序输出
main()
{
float a,b,c,t; /* t是代表什么? */
scanf("%f,%f,%f",&a,&b,&c);
if(a>b)
{t=a;a=b;b=t;} /* 不理解 */
if(a>c)
{t=a;a=c;c=t;} /* 不理解 */
if(b>c)
{t=b; ...

一瓶酱油和一瓶醋,我现在要把原来装醋瓶子装上酱油,把原来装酱油瓶子装上
醋.  怎么做呢..肯定要借助第三个空瓶子才行..怎么倒不用我说了吧
----------------解决方案--------------------------------------------------------
先谢谢大家
if(a>b)
{t=a;a=b;b=t;} /* 不理解 */    \\若a>b则进行交换;  \\进行什么交换,a和b吗
if(a>c)
{t=a;a=c;c=t;} /* 不理解 */      \\若a>c则进行交换;   \\同上
if(b>c)
{t=b; ...
----------------解决方案--------------------------------------------------------
[bo]以下是引用 [un]zjh19840213[/un] 在 2008-3-31 09:23 的发言:[/bo]

书本上一简单问题:
例:输入三个数,按大小顺序输出
main()
{
float a,b,c,t; /* t是代表什么? */
scanf("%f,%f,%f",&a,&b,&c);
if(a>b)
{t=a;a=b;b=t;} /* 不理解 */
if(a>c)
{t=a;a=c;c=t;} /* 不理解 */
if(b>c)
{t=b; ...


是交换a、b、c之间的值,t只是个第三方,只是用来交换时用的。
比如:输入a=3,b=2,c=1;
执行语句a>b,下面开始交换a、b的值,总共分三步:
1.t=a,a值为3,所以t值被赋为3;
2.a=b,b值为2,所以a被重新赋值为2;
3.b=t,t值为3,所以b被重新赋值为3。

经过这三步之后,a=2,b=3.

之后的转换同上,经过3个if之后,a=1,b=2,c=3。

############################################################3
不知道你现在明白了没有?
----------------解决方案--------------------------------------------------------
小广越来越有大哥 气概了..呵呵
----------------解决方案--------------------------------------------------------
广陵绝唱,看来我的脑袋是木头做的:
是交换a、b、c之间的值,t只是个第三方,只是用来交换时用的。//*完全理解
比如:输入a=3,b=2,c=1;
执行语句a>b,下面开始交换a、b的值,总共分三步:
1.t=a,a值为3,所以t值被赋为3;
2.a=b,b值为2,所以a被重新赋值为2;
3.b=t,t值为3,所以b被重新赋值为3。

经过这三步之后,a=2,b=3.

之后的转换同上,经过3个if之后,a=1,b=2,c=3。//*也能明白
/*经过3个if之后,a=1,b=2,c=3;那么结果为什么我们随便输入三个数,都能自动按大小输出*/
----------------解决方案--------------------------------------------------------
建议去看看书上关于if的使用,也许很快就明白了...
if(真(等于1))执行if之内的
if(假(等于0))执行if之后的
比如a = 3 , b = 2;
if (a < b)
{t = a; a = b; b = t;}//如果a比b小就交换.a > b就不交换
题中,a > b,所以不用交换.
其它的类似...
----------------解决方案--------------------------------------------------------
回复 37# 的帖子
你在纸上,随便写上三个数,然后按照程序一步一步地把结果写到纸上,也许你就能明白了。

    其实只有三个数,1、2、3只是个例子,只要在变量的范围之内,不同值的三个数都是可以排序的。
----------------解决方案--------------------------------------------------------
今年学校刚开C语言,很喜欢所以好好学习中。。。。。。。。。。。。。。。。。。。。。
----------------解决方案--------------------------------------------------------
  相关解决方案