vb求解 过程写一下 谢谢 5

 我来答
VB编程解放双手
2018-02-06 · 个人VB爱好者专注vb编程_时效软件
VB编程解放双手
采纳数:1204 获赞数:2391

向TA提问 私信TA
展开全部

从字符串中:NO1:X:123:Y:680:End中逐个取出字符串进行运算:

当i=1时:

字符:N不大于0也不小于9,又因为a(1)=0,不大于0

所以:什么也不做!

因此可以判断,对字符不是0-9的就忽略了!

当i=3时:

字符:1 在0-9之间

因为c的值没有变过,只是1

所以a(1)=a(1)*10+1

结果a(1)=1

当i=4时:

字符:: 不在0-9之间

因为c的值也没有变过,只是1,而a(1)已经为1了,大于0了

所以c=c+1

结果c=2

当i=5时:

字符:X 不在0-9之间

因为c的值现在是2了,而a(2)为0了

所以什么都不做

结果还是c=2

当i=6时:

字符:: 不在0-9之间

因为c的值现在是2了,而a(2)为0了

所以什么都不做

结果还是c=2

当i=7时:

字符:1在0-9之间

因为c的值现在是2了,而a(2)为0了

所以a(2)=a(2)*10+1

结果a(2)=1

当i=8时:

字符:2在0-9之间

因为c的值现在还是2,而a(2)为1了

所以a(2)=a(2)*10+2

结果a(2)=12

当i=9时:

字符:3在0-9之间

因为c的值现在还是2,而a(2)为12了

所以a(2)=a(2)*10+3

结果a(2)=123

所以题目中最大的数就是123,所以

答案应该是:D

给你编程验算的结果:

百度网友e7d358b
2018-02-06 · TA获得超过1964个赞
知道小有建树答主
回答量:1399
采纳率:89%
帮助的人:164万
展开全部
这道题很考验基础及分析能力,挺好的题目,需要耐心分析。
解:句子解释:
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

提交
取消

辅 助

模 式