Private Sub Form_Click() DIM x,y As Single DIM zAs Integer

Dowhlie_X=InputBox("ENTERascore")y=y+xz=z+1x=InputBox("Enterascore")LoopIfz=0Thenz=1E... Do whlie_
X=InputBox ("ENTER a score")
y=y+x
z=z+1
x=InputBox("Enter a score")
Loop
If z=0Then
z=1
End If
y=y/z
MsgBox y
End Sub
以上程序的功能是从键盘上输入若干个数字,当输入负数时结束输入,统计出若干数字的平均值,显示结果。请填空。
请给出详细的解释,真心的谢谢你们。
展开
 我来答
abcnyzay
2011-08-21 · TA获得超过1377个赞
知道小有建树答主
回答量:928
采纳率:100%
帮助的人:1029万
展开全部
这是一段比较弱的代码:
继续套用该段代码:
X=val(InputBox ("ENTER a score"))
Do whlie x>=0'当x>=0时继续循环,如果x不>=0则跳出循环
y=y+x
z=z+1
x=val(InputBox("Enter a score"))
Loop
应该用下面的:
Do whlie 1
X=val(InputBox ("ENTER a score"))
if x<0 then exit do'如果x为负数则跳出循环
y=y+x
z=z+1
Loop
加上val,将inputbox的内容强制转换为数值,否则,如果输入一个不是数值的,y=y+x将错
用原来的代码,Do whlie后添啥都不中:
如果不进入do while,将无法inputbox
如果进入do while,第一次即输入一个负数,计算结果错误
qcjpz368lry
2011-08-23 · TA获得超过372个赞
知道小有建树答主
回答量:920
采纳率:0%
帮助的人:562万
展开全部
缺省 [As类型]为可变类型。
示例
Dim a as Integer
Dim b as String
dim c as double
dim d as single
这是单行单变量定义,如果你要单行多边量定义,可以在一行上写。
若把多个变量都定义成同一类型,例如:把X,Y,Z都定义成双精度型,必须写成:Dim X as double,Y as double,Z as double 等价于
Dim X as double
dim Y as double
dim Z as double
也就是说以逗号为分界
如果写成:Dim x,y,z as double
则x,y定义成可变类型,z定义成双精度型。,等价于:
Dim x
DIm y
dim Z as double
上面的Dim x即DIm x as Variant,变体型,平时我们可以不写As Variant.
有时候我们需要一定长度的字符串,比如10个长度的,那就在后面用*辨识,加上长度10
对于字符型变量,VB中分为定长和变长两种。例如:
Dim Name as string,Id as string*10 ,等价于
DIm Name as string
DIm Id as String*10

双精度代表一个数值范围,VB里面BTYE<INTEGER<LONG<SINGLE<DOUBLE<?
最后一个代表变体型,因为VB设的最大范围亦是有限,最大的将是类似OBJECT的16位地址变量(这个变量值是值得内存位置,不是数值),而double就是数值,具体范围我忘了,大约是1E+437的数量级因为不大用。不过如果我们处理小数,只能用SINGLE或以上的类型。一般遇到100!的使用必须用DOUBLE。详细信息看MSDN。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式