回 帖 发 新 帖 刷新版面

主题:自学,看不明

5)两个变量交换值
        a=b                     
        c=a                     
        a=b  c为中间结果为?/font>  
        b=c 
什么意思?

回复列表 (共15个回复)

沙发

按这样的顺序和运行的结果
相当于
a=b
c=b
三个值全变成了b的值了.

板凳

如果是数值直接用 swap a,b
其他:
tmp=a
a=b
b=tmp

3 楼

就是交换值

4 楼

10  a=b
  20  c=a
  30  a=b
  40 b=c
就是,新变量c等于10句中的a,b等于20句中的c.在40中, b又等于30中的a,a又等于b,所以b还是等于b

5 楼

看不懂也没关系,看程序看久了自然就明白了

6 楼

第三行是多余的,而且整个程序达不到交换变量值的目的

2楼QB71给出的两种方法都是正解

7 楼

各位大哥你们好
C为中间值
为何不这样做
C=(A+B)/2
如有错误请指教
小弟我谢谢了

8 楼

下面的交换值的方法 也有点意思
a = 10: b = 6
a = a + b: b = a - b: a = a - b
PRINT a, b

9 楼

呵呵,8楼的算法真是太巧妙了,节省了一个变量。

10 楼

狂倒

看样子,得向盖先生提提意见,可以把swap省略掉了,QB可以更精简了.

我来回复

您尚未登录,请登录后再回复。点此登录或注册