vb求解 过程写一下 谢谢

 我来答
轩辕津
2018-02-07 · TA获得超过220个赞
知道答主
回答量:239
采纳率:98%
帮助的人:56.8万
展开全部
这道题很考验基础及分析能力,挺好的题目,需要耐心分析。
解:句子解释:
n=len(text1.text)是计算text1中字符的个数,为后面的循环提供循环次数,接下来的冒号只是隔开句子的作用;
s=mid(text1.text,i,1)是截取字符函数,意思是从第i个字符起截取1个,相当于是截取第i个字符;
Val(s)是把字符串转换成数字,这样才能计算;
循环里的是IF嵌套语句,满足了第一个条件(0-9的数字)的话,就不会执行第二个条件了。
根据以上分析:
i=1时,s=“N”,不满足IF的第一个条件(0-9的数字);a(1)=0也不满足第二个条件,所以s和数组a什么变化都没有。
i=2时,s=“o”,情况和i=1时一样。
i=3时,s=“1”,符合IF第一个条件,那么得到的结果是:a(1)=0*10+1=1
i=4时,s=“:”,不满足IF的第一个条件;但满足第二条件,因为此时a(1)=1,执行IF语句后得到c=1+1=2。
i=5时,s=“X”,不满足IF的第一个条件;此时a(2)=0(因为数组a各项初始值都是0)也不满足第二个条件。
i=6时,s=“:”,情况和i=5一样。
i=7时,s=“1”,符合IF第一个条件,那么得到的结果是:a(2)=0*10+1=1(因为此时的a(c)就是a(2),计算a(2)的值已经与前面a(1)的值无关,数组各项的值是不会自己相互影响的)。又因为符合了第一个条件,第二条件就算符合也不执行了,所以c的值还是2。
i=8时,s=“2”,符合IF第一个条件,那么得到的结果是:a(2)=1*10+2=12,同理不执行IF第二条件,所以c的值还是2。.
i=9时,s=“3”,符合IF第一个条件,那么得到的结果是:a(2)=12*10+3=123,同理不执行IF第二条件,所以c的值还是2。
i=10时,s=“:”,不满足IF的第一个条件;此时a(2)=123满足IF第二条件,所以执行IF语句结果是:c=2+1=3
接下来再怎么执行语句计算都与a(2)无关了,因为已经到计算a(3)了。
所以综上a(2)的值为123,选D。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式