掌握基础知识:
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 初始值,没有被改变
温馨提示:答案为网友推荐,仅供参考