少年三国志7天任务:关于VB中一个小程序的几句代码的疑惑。

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/30 05:20:21
代码如下:是关于输入学生的成绩,当输入负数时停止输入。并求出成绩的最大和最小值。
Dim x, amax, amin As Single
x = InputBox("enter")
amax = x
amin = x
Do While x < 0
If x > amax Then
amax = x
End If
If x < amin Then
amin = x
End If
x = InputBox("enter")
Loop
Print "max=": amax , "min=": amin

其中amax = x
amin = x
我不明白是什么意思。并且其中怎样求出的最大和最小值的思路我还是不甚明白,请教高手帮忙。谢谢。

Dim x, amax, amin As Single '定义
x = InputBox("enter") '从键盘输入一个值给X
amax = x ‘将X的值分别付给amax,amin
amin = x
Do While x < 0 '开始循环(这句应改为Do While x > 0 )
If x > amax Then ‘如果X的值大于amax的值
amax = x ‘就将较大的那个值付给amax
End If
If x < amin Then '如果X的值小于amin的值
amin = x ’就将较小的那个值付给amin
End If
x = InputBox("enter") ’再从键盘复制给X
Loop
Print "max=": amax , "min=": amin 输出最大值与最小值

在x = InputBox("enter")
amax = x
amin = x
Do While x < 0
If x > amax Then
amax = x
End If
If x < amin Then
amin = x
End If
x = InputBox("enter")
Loop
程序段中,就是求最大值与最小值的过程。
基本思路是:
首先给一个变量付一个初值(amax,amin)
然后通过循环将这个变量的值与其它的数进行比较
如果其中的一个值比当前的值要打
就将该值付给付给变量(amax)
这样不停的比较,所以其中最大的那个值始终是该变量(amax)
比较最小值的思路一样

关于定义上的问题:
dim定义可以同行定义多个元素,用逗号分隔.如果定义没有AS 数据类型的话
所有数据的定义均为可变行
还有,如果定义的时候不想AS 什么的,就可以在数据元素后面加上数据的通用符号。比如我要定义a为整型,就可以写为:Dim a%

Dim x, amax, amin As Single 应为
Dim x as singgle
dim amin As Single
dim amax as single
Dim x, amax, amin As Single 这样的定义是的结果是x和amax没有定义数据类型,只有最后的amin是single型变量,这是VB基本常识,VB的定义数据类型和C语言不一样!
Do While x < 0 应该为 Do While x > 0
而且这段代码有错误,求不出最大与最小值
因为每次运行 inputbox的时候,由于前面重新定义了变量,没有保存上次的值,永远保存的是inputbox输入时候的值。除非把amax,amin定义成全局变量或模块级别的变量,而不是过程局部变量