VB循环语句与数组习题
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
“a”是一个字符串,它和 “wa?” 、 “同学”一样都是字符串常量 而a是一个变量名,用来存储其他数据
a = 13 b = 1 + 13, 即b=14 s = “ 13” + “ 14“, 即s= “1314 "
插入数据
pos=5 a(i) 值
a(1) 24 a(2) 25 a(3) 31 a(4) 36 a(5) 40 a(6) 54 a(7) 89 a(8) 95 a(9) 96 a(10) 97 … …
+
0
0
0
0
4
4
8
13
12
22 15
乘法计算完毕,接下来处理进位。从ans(1)开始向高位进位 0 0 5 5 3 5
规律:第i位数乘以第j位数,结果累加在ans的i+j-1位上
二、阅读程序并填空(1)
Dim a(1 To 6) As Integer s=0 For i = 1 To 6 If i Mod 2 = 1 Then s = s + a(i) End If Next i (1)数组a存储的数据依次 为2、4、6、1、3、7,则上 面程序执行后变量s的值 关系判断语句i Mod 2 = 1, 即i是奇数才成立,s累加对应的a(i) a(i) 对应的值 a(1) a(2) a(3) a(4) a(5) a(6)
2
4
6
1
3
7
所以S=0+2+6+3=11
初值
二、阅读程序并填空(2)
Dim a(1 To 6) As Integer s=0 For i = 1 To 6 If a(i) < 0 Then s=s+1 End If Next i (2)假设数组a存储的数据依次为 1、3、3、1、-9、7,则程序执行 后变量s的值 关系判断语句a(i) < 0 成立, s累加1 a(i) 对应的值 a(1) a(2) a(3) a(4) a(5) a(6)
1
3
3
1
-9
7
只有一个a(i)的值小于0所以累加1次,即S=0+1=1
二、阅读程序并填空(3)
Dim a(1 To 6) As Integer s=0 For i = 2 To 6 If a(i) = a(i - 1) Then s=s+1 End If Next i (3)假设数组a存储的数据依次为 1、2、2、3、3、3,则程序执行 后变量s的值 关系判断语句a(i) = a(i - 1)成立,即两两相等 s累加1 a(i) 对应的值 a(1) a(2) a(3) a(4) a(5) a(6)
a(i) 对应的值
a(1) 1
a(2) 2
a(3) 6
a(4) 3
a(5) 2
a(6) 1
前后两两对称有2个相等,累加2次,即S=0+1+1=2
二、阅读程序并填空(5)
Dim a(1 To 6) As Integer n = 6: k = 1 For i = 1 To n If a(i) > a(k) Then k = i Next i (5)假设数组a存储的数据依次为 1、2、6、3、2、1,则程序执行 后变量k的值 查找数组中最大元素的下标,并将下标存储在变量k中 K a(i) 对应的值 a(1) a(2) a(3) a(4) a(5) a(6)
1
2
6
3
2
1
即k=3
二、阅读程序并填空(6)
Dim a(1 To 6) As Integer n = 6: k = 2 For i = 3 To n If Abs(a(i)-a(i-1)) > Abs(a(k)-a(k-1)) Then k=i End If Next i (6)假设数组a存储的数据依次为8、2、6、3、 12、1,则程序执行后变量k的值 查找数组两两元素差值绝对值最大,并将前面下标存储在变量k中 a(1) a(2) a(3) a(4) a(5) a(6)
查找两个数组对应元素相 等的个数
a(i) 对应的值
b(i) 对应的值
a(1) 21 b(1) 3
a(2) 2 b(2) 2
显然a(2)=b(2) ,a(3)=b(3),有2个相等,累加2次,即S=0+1+1=2
(8)
Dim a As Integer, b As Integer Dim s As String a = 13 b = Len("a") + a s = Str(a) + Str(b)
循环和数组习题分析
杜宗飞
先计算5乘以123,得到结果,先不急于进位
ans(6) ans(5) ans(4) ans(3) ans(2) ans(1)
0
ans(6)
0
ans(5)
0
ans(4)
5ans(3)来自10ans(2)15
ans(1)
再计算4乘以123,得到结果,再原来上累加 0 0 0 5 10 15
key
a(i) 值
a(1) 24 a(2) 25 a(3) 31 a(4) 36 a(5) 38 a(6) 40 a(7) 84 a(8) 89 a(9) 95
逐个后移
a(10) 96 a(11) 98
a(i) 对应的值
8
6
2
4
6
3
3
9
12
11
1
显然差值绝对值最大的是a(6)-a(5) ,即k=6
二、阅读程序并填空(7)
Dim a(1 To 5) As Integer Dim b(1 To 5) As Integer n = 5: s = 0 For i = 1 To n If a(i) = b(i) Then s=s+1 End If Next i (7)数组a数据依次为21、2、6、3、2而数组b数据依次 为3、2、5、3、1则上面程序执行后变量s的值 i=2 i=4 a(3) 6 b(3) 5 a(4) 3 b(4) 3 a(5) 2 b(5) 1
1
2
2
3
3
3
两两之间有4个相等,累加4次,即S=0+1+1+1+1=4
二、阅读程序并填空(4)
Dim a(1 To 6) As Integer n = 6: s = 0 For i = 1 To n \ 2 If a(i) = a(n - i + 1) Then s=s+1 End If Next i (4)假设数组a存储的数据依次为 1、2、6、3、2、1,则程序执行 后变量s的值 关系判断语句a(i) = a(n - i + 1)成立, s累加1 a(i) = a(n - i + 1)代表数组中前后对称的两个元素