【例4-14】输入A、B、C 3个数值,然后由小到大输出。
1.用单行条件语句实现
按“三步法”原则分析如下。
做什么
1)用户输入3个数,所以要有3个文本框。
2)1个“排序”按钮。
3)3个用于说明文本框的标签。
怎么做
步骤描述如下:
1)读取文本框中的数据到3个变量A、B、C中。
在进行第2)步之前,先分析一下这样一个问题:假设桌子上有3个碗,分别为A、B、C。随机在3个碗中分别放入一个苹果,这3个苹果大小未知,且假设不能用肉眼直接判断其大小。所以必须进行两两比较,比较过程如下:
①比较A、B中的苹果(用天平或弹簧秤),如果A中的苹果比B中的苹果大,则交换A、B中的苹果;否则A、B中保持不变。比较完毕后,A中是较小者。
②比较A、C中的苹果,如果A中的苹果比C中的苹果大,则交换A、C中的苹果;否则保持不变。可以看出,通过这次比较后,A中的苹果就是3个中最小的那个了。而B、C二者还是未定的,因为它们两个都大于A中的苹果。
③比较B、C中的苹果,如果B中苹果大于C中苹果,则交换B、C中的苹果;否则保持不变。这样A、B、C中的苹果就排好序了。
这种方法采用的是3个碗的位置固定不变,交换的是里面的苹果。不难想象,这个方法同样适用于本例问题。程序读取用户输入的3个数据到变量A、B、C中,就可以把它们看作3个碗,然后两两进行比较,所以产生了下面的2)、3)、4)步。
2)比较A、B,如果A>B,则交换A、B中的值。
3)比较A、C,如果A>C,则交换A、C中的值。
4)比较B、C,如果B>C,则交换B、C中的值。
5)输出A、B、C。
实现
1)读取数据:(www.xing528.com)
2)比较A、B:
3)比较A、C:
4)比较B、C:
5)输出:
完整代码如下。
运行结果如图4-28所示。
图4-28 排序
因为采用的是单行条件语句,所以是不能换行的,所有的语句必须写在同一行中,语句之间用“;”分隔,如:If A>B Then t=A:A=B:B=t,并且这里没有用到Else分支,也就是说,如果A<=B,则不进行任何操作。
2.用块结构条件语句实现
完整代码如下。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。