计算机vb的一道题

计算机vb的一道题渣渣正在准备计算机二级考试,碰到这题实在看不懂怎么解的... 计算机vb的一道题渣渣正在准备计算机二级考试,碰到这题实在看不懂怎么解的 展开
 我来答
syx54
2016-07-25 · TA获得超过7378个赞
知道大有可为答主
回答量:6567
采纳率:83%
帮助的人:2685万
展开全部
掌握基础知识:
1,x接收到的是字符串“2355270224”。
2,Len()函数,返回字符串长度(字符个数),Len(x)返回10。
3,Mid(x,k,1)函数,从指定的字符串X的第k位开始取出连续的1位字符。
所以在下面循环中:
For k = 1 To Len(x)
b = Mid(x,k,1)
a(Val(b) + 1) = a(Val(b) + 1) + 1
Next k
语句 b = Mid(x,k,1),作用就是:
第1次循环,取出X的左起第1位
第2次循环,取出X的左起第2位
......
第10次循环,取出X的左起第10位
循环10次,每次按照从左开始的次序,取出一位字符。
4,Val()函数,是把字符类型数据转换成数值类型数据,例如:Val("8") --> 8 。
5,a(10)是整数类型数组,它有10个元素,分别为:
a(1)、a(2)、a(3)、a(4)、a(5)、a(6)、a(7)、a(8)、a(9)、a(10)、且初始值都存放0。
5,分析:x 的值是“2355270224”
第1次,b=2,把b = 2,代入:a(Val(b) + 1) = a(Val(b) + 1) + 1
得到:a(Val(2) + 1) = a(Val(2) + 1) + 1
--> a(2 + 1) = a(2 + 1) + 1 --> a(3) = a(3) + 1 --> a(3) = 0 + 1 --> a(3) =1
第2次,b=3,把b = 3,代入:a(Val(b) + 1) = a(Val(b) + 1) + 1
得到:a(Val(3) + 1) = a(Val(3) + 1) + 1
--> a(3 + 1) = a(3 + 1) + 1 --> a(4) = a(4) + 1 --> a(4) = 0 + 1 --> a(4) = 1
第3次,b=5,把b = 5,代入:a(Val(b) + 1) = a(Val(b) + 1) + 1
得到:a(Val(5) + 1) = a(Val(5) + 1) + 1
--> a(5 + 1) = a(5 + 1) + 1 --> a(6) = a(6) + 1 --> a(6) = 0 + 1 --> a(6) = 1
第4次,b=5,把b = 5,代入:a(Val(b) + 1) = a(Val(b) + 1) + 1
得到:a(Val(5) + 1) = a(Val(5) + 1) + 1
--> a(5 + 1) = a(5 + 1) + 1 --> a(6) = a(6) + 1 --> a(6) = 1 + 1 --> a(6) = 2
第5次,b=2,把b = 2,代入:a(Val(b) + 1) = a(Val(b) + 1) + 1
得到:a(Val(2) + 1) = a(Val(2) + 1) + 1
--> a(2 + 1) = a(2 + 1) + 1 --> a(3) = a(3) + 1 --> a(3) = 1 + 1 --> a(3) = 2
第6次,b=7,把b = 7,代入:a(Val(b) + 1) = a(Val(b) + 1) + 1
得到:a(Val(7) + 1) = a(Val(7) + 1) + 1
--> a(7 + 1) = a(7 + 1) + 1 --> a(8) = a(8) + 1 --> a(8) = 0 + 1 --> a(8) = 1
第7次,b=0,把b = 0,代入:a(Val(b) + 1) = a(Val(b) + 1) + 1
得到:a(Val(0) + 1) = a(Val(0) + 1) + 1
--> a(0 + 1) = a(0 + 1) + 1 --> a(1) = a(1) + 1 --> a(1) = 0 + 1 --> a(1) = 1
第8次,b=2,把b = 2,代入:a(Val(b) + 1) = a(Val(b) + 1) + 1
得到:a(Val(2) + 1) = a(Val(2) + 1) + 1
--> a(2 + 1) = a(2 + 1) + 1 --> a(3) = a(3) + 1 --> a(3) = 2 + 1 --> a(3) = 3
第9次,b=2,把b = 2,代入:a(Val(b) + 1) = a(Val(b) + 1) + 1
得到:a(Val(2) + 1) = a(Val(2) + 1) + 1
--> a(2 + 1) = a(2 + 1) + 1 --> a(3) = a(3) + 1 --> a(3) = 3 + 1 --> a(3) = 4
第10次,b=4,把b = 4,代入:a(Val(b) + 1) = a(Val(b) + 1) + 1
得到:a(Val(4) + 1) = a(Val(4) + 1) + 1
--> a(4 + 1) = a(4 + 1) + 1 --> a(5) = a(5) + 1 --> a(5) = 0 + 1 --> a(5) = 1
结合数组的初始值以及上述操作结果,最后得到:
a(1) = 1  改变了1次
a(2) = 0  初始值,没有被改变
a(3) = 4  改变了4次
a(4) = 1  改变了1次
a(5) = 1  改变了1次
a(6) = 2  改变了2次
a(7) = 0
a(8) = 1   改变了1次
a(9) = 0  初始值,没有被改变
a(10)= 0  初始值,没有被改变
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式