急求大神告知这题为什么选C

问题描述:

急求大神告知这题为什么选C
 
1个回答 分类:数学 2014-10-13

问题解答:

我来补答
这题属于中等偏难的题目 请结合我的注释看下去

Private Sub Form_Click()
\x05Dim x() As String '定义一个大小未确定的字符串类型数组
\x05a = "Howareyou!"  '给a 赋值,值是字符串
\x05n = Len(a)        '确定字符串的长度
\x05ReDim x(1 To n)    '重新定义x数组的大小
\x05For i = n To 1 Step -1    '从循环变量从n开始做循环
\x05\x05x(i) = Mid(a,i,1) '取a中的指定字符,赋值给x数组
\x05Next i 
\x05For i =1 To n            
\x05\x05Print x(i)        '逐字输出字符
\x05Next i
End Sub
本题x数组定义是为了存放字符串中的各个字符.

前面没什么问题
从第一个循环说起
这里从之前代码知道n就是10,你就把后文的n全都换成10,让题目清晰一点
For i = 10 To 1 Step -1  
    x(i) = Mid(a,i,1) 
Next i
这里还涉及Mid()的考察
Mid(a,i,k) 意思就是从字符串 a 中截取 第i位开始 长度为k的字符串 

先看第一次循环,i=10 
式子我简化一下
x(10) = Mid(""Howareyou!",10,1)
就是截取字符串"Howareyou!"中 第10位开始长度是1位的字符 就是 感叹号"!"

再继续x(9)就是第九位字符 u

你仔细一看会发现 数组里是被拆开的字母和标点,顺序并没有变化
最后逐字输出
For i =1 To n            
\x05Print x(i)        '逐字输出字符
Next i
因为这次是从i=1开始循环的,就是按照顺序从x(1)开始逐字输出
也就是没有变化它的顺序再重新输出

你先理解和消化一下,不懂再问


再问: 太棒啦,点三十二个赞,太开心啦(≧∇≦)
 
 
展开全文阅读
剩余:2000
上一页:求补英语