关于vb的疑问

PrivateSubrun16_Enter()DimnumAsIntergerDimaAsIntegerDimbAsIntegerDimiAsIntegerFori=it... Private Sub run16_Enter()
Dim num As Interger
Dim a As Integer
Dim b As Integer
Dim i As Integer
For i = i to 10
num = InputBox("请输入数据:", "输入" , 1)
If Int (num/2) = num/2 Then
a= a+1
Else
b= b+1
End If
Next i
MsgBox ("运行结果:a=" & Str(a) & " ,b= " & Str(b) )
End Sub
运行以上事件所完成的功能为什么是对输入的10个数据求分别统计有几个是奇数,有几个是偶数?麻烦讲的通俗一些。
展开
 我来答
教师小站
2011-08-05 · TA获得超过2157个赞
知道大有可为答主
回答量:1350
采纳率:0%
帮助的人:764万
展开全部
一、输入错误,多了个字母r,请把Dim num As Interger改成Dim num As Integer
二、输入错误,要循环10次,请把For i = i to 10改成For i = 1 to 10
三、讲解:
Private Sub run16_Enter()
Dim num As Integer '定义变量num,存放每次输入的数字
Dim a As Integer '定义变量a,存放偶数个数
Dim b As Integer '定义变量b,存放奇数个数
Dim i As Integer '定义变量i,存放循环计数
For i = i To 10 '循环10次
num = InputBox("请输入数据:", "输入", 1)
If Int(num / 2) = num / 2 Then '如果num是偶数
a = a + 1 '那么投偶数1票
Else
b = b + 1 '否则投奇数1票
End If
Next i
MsgBox ("运行结果:a=" & Str(a) & " ,b= " & Str(b))
End Sub

---------------------关键内容----------------------
If Int(num/2)=num/2 Then 是判断num是否为偶数,int()函数的作用是把小数变成整数,num/2把输入的数字除以2。
当num=5时,代入5得到
Int(num/2)=num/2
=Int(1/2)=1/2
=Int(2.5)=2.5
=2=2.5
=等式不成立(因为2不等于2.5),“是不是偶数”条件不成立,所以b=b+1投奇数1票

当num=8时,代入8得到
Int(num/2)=num/2
=Int(8/2)=4
=Int(4)=4
=4=4
=等式成立(因为4等于4),“是不是偶数”条件成立,所以a=a+1投偶数1票
huohua66zhaobo
2011-08-05 · TA获得超过8353个赞
知道大有可为答主
回答量:2555
采纳率:0%
帮助的人:674万
展开全部
是这样的,int(num/2) 当num为奇数时,得到必为 xx.5 这时 int函数 会把 xx.5 处理成 xx
num/2 却得到 xx.5
而当num为偶数时 两者相等 
因此 a统计的是偶数的个数,b 统计的是奇数的个数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式