资源简介 专项测试二 算法基础一、选择题1.某算法的部分流程图如下图所示,执行这部分流程后,输出x,y的值分别是( )A.0,3 B.3,1 C.3,0 D.0,35解析 本题主要考查的是循环结构流程图。当y=5时,x=11,当y=4时,x=9,当y=3时,x=7,当y=2时,x=5,当y=1时,x=3,此时y=0,不满足条件,因此输出x、y的值分别为3,0。答案 C2.某算法的部分流程图如下图所示。输入x的值为1,执行完这部分流程后,变量s的值是( )A.0 B.14 C.20 D.44解析 本题主要考查的是算法的流程图。当x=1、3、7、9、11、13时满足条件,因此s=1+3+2+4+1+3=14,故答案为B。答案 B3.有如下VB程序段:Dim x As String, y As String, z As Booleanx = Text1.Texty = Text2.Textz = x + y > y + xText3.Text = z程序运行时,在文本框Text1中输入12121,在文本框Text2中输入121,则在文本框Text3中显示的内容为( )A.12121121 B.12112121C.True D.False解析 本题主要考查的是字符串比较。需注意的是运算符的优先级:算术运算符>关系运算符>逻辑运算符,字符串比较大小其实质是比较其ASCII值,因此答案为C。答案 C4.有如下VB程序段:s = 0: i = 1Do While i <= 10 If i Mod 3 = 0 Then a(i) = a(i) + 1 Else a(i) = i List1.AddItem Str(a(i)) i = i + 1Loopi = 10Do While i >= 1 If a(i) = 1 Then s = s + 1 i = i - 1Loop该程序段运行后,变量s值是( )A.3 B.4 C.5 D.9解析 本题主要考查的是数组。程序执行后,数组元素a(1)、a(3)、a(6)、a(9)的值为1,因此共有4个,答案为B。答案 B5.有如下VB程序段: Dim d As Integer, p As Integer p = 2 d = 10 Do While d > 1 p = 2 * p d = d - 1 Loop Label1.Caption = Str(p)该程序段运行后,在标签Label1中显示的内容是( )A.2 B.512 C.1024 D.2048解析 本题主要考查的是VB的循环结构。本程序的功能是计算210的值,210=1024,因此答案为C。答案 C6.有如下 VB 程序段: a(1) = 10For i = 2 To 10 a(i) = 0 If i Mod 2 = 1 Thena(i) = a(i 2) + a(i - 1) Elsea(i) = a(i) + 1 End IfNext i该程序段执行后,数组元素a(7)的值是( )A.2 B.10 C.11 D.12解析 当i为奇数时,a(i) = a(i 2) + a(i - 1),因此a(7) = a(3) + a(6)。a(3) = a(1) + a(2)。当i为偶数时,a(i) = a(i) + 1,因此a(2)=1,a(6)=1。a(3) =11,a(7) =12。答案 D7.有如下VB程序段: Dim i As Integer, j As Integer, st As Stringn = 5 For i = 1 To 5st = “ ”If i < 4 Then For j = 1 To i st = st + “*” Next jElseFor j = i To n st = st + “*”Next j End If List1.AddItem stNext i该程序段运行后,在列表框List1中显示的内容是( )解析 本题主要考查的是二重循环。外循环表示图形共有几行,内循环表示每行共有几个*,当i<4时,第i行的*数为i,即第1、2、3行的*数分别为1、2、3,i>=4时,第i行的*数为5-i+1个,即第4、5行的*数分别为2、1,因此答案为B。答案 B8.有如下VB程序段: Dim a(1 To 6) As Long, i As Integer, x As Long, y As Long x = 654321 For i = 1 To 6a(i) = x Mod 10x = x 10y = y + a(i) * 10 ^ (6 - i + 1) Next i执行该程序段后,变量y的值为( )A.123456 B.1234560C.6543210 D.654321解析 本题主要考查的是数值运算。本程序的功能是将整数x中的数字进行转置,需注意的是分离后数字*10^(6-i+1),因此答案为B。答案 B9.计算斐波那契数列的前n项。该数列从第 3 项开始,每一项都等于前两项之和,其中第1项为1,第2项也为1。计算前第 n项的 VB程序段如下所示:Private Sub Command1_Click() Dim n As Integer,i As Integer,a As Long,b As Long,c As Long a = 1 b = 1 n = Val(Text1.Text) List1.AddItem Str(a) List1.AddItem Str(b) For i = 3 To n List1.AddItem Str(c) Next iEnd Sub上述程序中方框处可选语句为( )①a=b ②c=a+b ③b=cA.①、②、③ B.①、③、②C.③、①、② D.②、①、③解析 本题主要考查的是赋值的位置对程序的影响。本题主要采用数学的迭代思想求斐波那契数列,使用a、b、c三个变量实现。改变这三条赋值语句的先后顺序,将会对程序产生很大的影响,得到的结果也将截然不同,正确顺序为②①③。答案 D10.有如下VB程序段:n = 0For i = 1 To Len(Text1.Text)c = Mid(Text1.Text, i, 1)If c >= “0” And c <= “9” Then m = 1 Else m = 2a(m) = a(m) + 1If a(m) = 1 Then n = n + 1Next i数组a各元素的初始值都为0,文本框Text1的内容为“Happy2018”。执行程序后,变量n的值为( )A.1 B.2 C.4 D.9解析 本程序的功能是统计数字字符和非数字字符的个数,共有2种,因此答案为B。数组元素a(1)存储的是数字字符的个数,数组元素a(2)存储的是非数字字符的个数。答案 B二、非选择题11.小明编写了一个计算BMI指数的VB程序。BMI指数(即身体质量指数,称简体质指数又称体重,英文为Body Mass Index,简称BMI),是用体重(公斤)除以身高(米)平方得出的数字,是目前国际上常用的衡量人体胖瘦程度以及是否健康的一个标准,BMI指数的判断标准如下表所示:BMI指数<18.522.918.5~23~25~24.929.9≥30≥40.0结果偏瘦正常偏胖肥胖重度肥胖极重度肥胖程序运行时,在文本框Text1中输入体重,在文本框Text2中输入身高,单击”测试”按钮Command1,在标签Label4中显示对应的结果。程序运行界面如下图所示。实现上述功能的VB程序如下,请回答下列问题:Private Sub Command1_Click() Dim h As Single, w As Single, ans As Single, s As String w = Val(Text1.Text) h = Val(Text2.Text) ______①______ If ans< 18.5 Thens = “偏瘦” ElseIf ans< 22.9 Thens = “正常” ElseIf ans<= 24.9 Thens = “偏胖” ElseIf ans<= 29.9 Thens = “肥胖” ElseIf ans< 40 Thens = “重度肥胖” ______②______s = “极重度肥胖” End If Label4.Caption = sEnd Sub(1)程序代码“Private Sub Command1_Click()”中Command1_Click()是指________(选填:对象 / 属性 / 过程 / 事件 / 方法)。(2)请在程序划线处填入合适代码。(3)程序运行时,输入体重70,身高1.65,则测试结果为________。解析 本题主要考查是多分支结构语句。(1)本小题主要考查事件处理过程,Command1_Click为过程。(2)根据题目可知BMI指数=体重/身高2,因此①处语句为ans=w/h^2或ans=w/(h*h);②处语句表示除上面条件外的情况,即BMI指数>=40.0,因此可填入Else,或ElseIf ans>=40 Then,需注意的是不能漏掉Then。(3)本小题主要考查实际应用。根据公式计算可得BMI指数为25.7,因此测试结果为“肥胖”。答案 (1)过程 (2)①ans = w/h^2 ②Else或ElseIf ans>=40 Then (3)肥胖12.编写VB程序,实现如下功能:在文本框中输入一个整数,单击“计算”按钮Command1,则输出表达式1-+-+…+的值。程序运行界面如下图所示。(1)该VB窗体上共包含________类对象。(2)实现上述功能的VB程序如下,请在划线处填入合适的代码。Private Sub Command1_Click() Dim n As Integer, p As Long, s As Double, i As Integer, t As Integer s = 0 t = 1 p = 0 n = Val(Text1.Text) For i = 1 To n ________①________ s = s + t * 1 / p ________②________ Next i Label1.Caption = Str(s)End Sub(3)运行该程序,在文本框Text1中输入5,单击“计算”按钮,则表达式的值是________。解析 (1)窗体上共包含3类对象,文本框、标签和按钮。(2)变量p表示表达式中每项的分母,因此①处语句为p = p + i;变量t表示控制每项的正负符号的交替,因此②处代码为t = -t ,也可以写为t=-1*t。答案 (1)3 (2)①p = p + i ②t = -t或 t=-1*t (3)0.813.小明编写了一个VB程序,功能如下:输入一个不超过10000的整数,若该数的各位数字之积是其各位数字之和的倍数,则输出“Yes”,否则输出“No”。程序运行时,在文本框Text1中输入一个整数,单击“判断”按钮Command1后,在标签Label3中显示判断结果。程序运行界面如下图所示。(1)在设计程序界面时,要清空标签Label3中的显示内容,应修改该标签的______属性。(2)实现上述功能的VB程序如下,请在划线处填入合适代码。 Private Sub Command1_Click() Dim x As Integer, h As Integer, k As Integer x = Val(Text1.Text) h = 0 k=1 Do While x > 0 h = h + x Mod 10 k=________①________ x = x 10 Loop If ________②______Then Label3.Caption = “Yes” Else Label3.Caption = “No” End IfEnd Sub(3)运行该程序,在文本框Text1中输入1234,单击“判断”按钮,显示的判断结果为________。解析 (1)本小题主要考查的是对象的Caption属性。(2)①处代码表示求整数x的各位数字之积,因此代码为k * (x Mod 10);②处代码表示“整数x的各位数字之积是和的倍数吗?”,因此②处代码为k Mod h = 0;(3)为算法的实际应用。整数1234的各位数字之和为10,各位数字之积为24,因此判断结果为“No”。答案 (1)Caption (2)① k * (x Mod 10)②k Mod h = 0 (3)No14.编写“加法练习题生成器”程序,实现如下功能:在文本框Text1中输入题数n,单击“生成”按钮Command1,在列表框List1中显示n个两数之和小于100的加法练习题。程序运行界面如图1所示。(1)在设计程序界面时,应使用图2所示“控件工具箱”中的______(填写相应编号)添加“生成”按钮。 (2)实现上述功能的VB程序如下,请在划线处填入合适的代码。Private Sub Command1_Click( ) Dim n As Integer,i As Integer,a As Integer,b As IntegerRandomizen=Val(Text1.Text)i=____①____Do While i<=na=Int(Rnd*100)b=Int(Rnd*100)If____②____Then List1.AddItem“(“+Str(i)+”)“+Str(a)+”+“+Str(b)+”=” i=i+1End IfLoopEnd Sub(3)运行该程序,在文本框中输入5,单击“生成”按钮后,对语句“a=Int(Rnd*100)”执行次数的描述,最合理的是______(单选,填字母:A.执行次数等于5 / B.执行次数大于等于5 / C.执行次数小于等于5)。 解析 (1)编号1表示标签,编号2表示文本框,编号3表示按钮。(2)变量i应从1开始,因此初值为1,①处代码填入1;题目要求显示的是两数之和小于100的n个加法题,因此②处条件为a+b<100;(3)语句“a=Int(Rnd*100)”表示生成[0,99]区间内的整数,生成a、b随机整数后,如果a+b>=100,则不符合要求,需要重新再生成两个随机数,因此执行次数可能会大于实际显示的加法式子的个数。答案 (1)3 (2)①1 ②a+b<100 (3)B15.哥德巴赫猜想:任意一个大于等于4的偶数,都可以用两个素数之和表示。如:4=2+2,6=3+3,8=3+5,10=5+5,12=5+7,98=17+79。编写一个验证哥德巴赫猜想的VB程序:程序运行时,在文本框Text1中输入一个大于等于4的偶数,单击“验证”按钮Command1后,如果哥德巴赫猜想验证成功,则在文本框Text2中显示“Yes”,并在列表框List1中显示用两个素数表示该偶数的等式,否则显示“No”。程序运行结果如图所示。实现上述功能的VB代码如下,但加框处代码有错,请改正。′函数pp(x)的功能是判断整数x是否为素数,若是素数则返回True,否则返回FalseFunction pp(x As Integer) As Boolean Dim j As Integer pp = True j = 2 Do While j <= Int(Sqr(x)) And pp=True If x Mod j = 0 Then pp = False Else ′① LoopEnd FunctionPrivate Sub Command1_Click() Dim n As Integer, p As Integer, q As Integer, pd As Boolean n = Val(Text1.Text) p = 1 pd = False Do While Not pd And p < np = p + 1 ′②If pp(p) And pp(q) Then Text2.Text = “Yes” pd = True List1.AddItem Str(n) + “=” + Str(p) + “+” + Str(q)End If Loop If pd = False Then Text2.Text = “No”End Sub程序中加框①处应改正为____________________________________________;加框②处应改正为____________________________________________________。解析 函数pp(x)的功能是判断整数x是否为素数,若是素数,则返回True,否则返回False。判断素数的方法为:让x去除以j(2至根号x取整),若能被某个数j整除,则函数值为False,否则j+1后再试,因此①处语句修改为j=j+1;Command1_Click()事件处理过程的功能是寻找组成整数n的二个素数,方法是枚举p,因此q=n-p,然后再判断p和q是否均为素数,若是则完成定理证明,否则将继续枚举p的值。答案 ①j=j+1 ②q=n-p 16.有趣的乘法:输入一个个位数不是5的奇数p,寻找一个整数s,使得p×s = 1111...1(每位数字均为1),要求输出整数s及它们乘积中1的个数(即乘积有几个1构成)。例如,当p=13时,13*8547=111111,因此整数s为8547,乘积由6个1构成;当p=23时,整数s为48309178743961352657,乘积由22个1构成。算法思想:首先生成一个比p大的全1数a,如果a能整除p,则算法结束,否则继续扩大a的位数,如此继续,直至a整除p。程序运行界面如下图所示,在文本框Text1中输入整数p,单击“计算”按钮,在文本框Text2中输出整数s,在文本框Text3中输出乘积中1的个数。小明依据上述描述设计如下VB程序。请回答下列问题:(1)当p=3时,整数s为________。(2)请在划线处填入合适的语句。Private Sub Command1_Click() Dim p As Long, a As Long, b As Long, c As Long, n As Long Dim s As String ′存放整数s,因为该数较大,因此采用字符串存储 Do While True ′判断输入的整数p是否为个位不是5的奇数 p = Val(Text1.Text) If p Mod 2 < > 0 And p Mod 5 < > 0 Then Exit Do Loop a = 0 n = 0 Do While a < p __________①__________ n = n + 1 Loop c = a Mod p s = Str(a p) Do While c < > 0 a = c * 10 + 1 __________②________ s = s & b n = n + 1 ________③________ Loop Text2.Text = s Text3.Text = Str(n)End Sub解析 本题主要考查的是算法的综合应用。(1)当p=3时,整数s=111/3=37。(2)①处代码表示生成1个比p大的全1整数,因此①处代码为a=a*10+1;②处循环表示,若当前全1整数不能被p整除,则会继续生成一个更大全1整数,直到它能被p整除为止,因此②处代码为b = a p,③处代码为c = a Mod p,也可以写为c=a-b*p。答案 (1)37 (2)①a = a * 10 + 1 ②b = a p③c = a Mod p或c=a-b*p专项测试二 算法基础一、选择题1.某算法的部分流程图如下图所示,执行这部分流程后,输出x,y的值分别是( )A.0,3 B.3,1 C.3,0 D.0,352.某算法的部分流程图如下图所示。输入x的值为1,执行完这部分流程后,变量s的值是( )A.0 B.14 C.20 D.443.有如下VB程序段:Dim x As String, y As String, z As Booleanx = Text1.Texty = Text2.Textz = x + y > y + xText3.Text = z程序运行时,在文本框Text1中输入12121,在文本框Text2中输入121,则在文本框Text3中显示的内容为( )A.12121121 B.12112121C.True D.False4.有如下VB程序段:s = 0: i = 1Do While i <= 10 If i Mod 3 = 0 Then a(i) = a(i) + 1 Else a(i) = i List1.AddItem Str(a(i)) i = i + 1Loopi = 10Do While i >= 1 If a(i) = 1 Then s = s + 1 i = i - 1Loop该程序段运行后,变量s值是( )A.3 B.4 C.5 D.95.有如下VB程序段: Dim d As Integer, p As Integer p = 2 d = 10 Do While d > 1 p = 2 * p d = d - 1 Loop Label1.Caption = Str(p)该程序段运行后,在标签Label1中显示的内容是( )A.2 B.512 C.1024 D.20486.有如下 VB 程序段: a(1) = 10For i = 2 To 10 a(i) = 0 If i Mod 2 = 1 Thena(i) = a(i 2) + a(i - 1) Elsea(i) = a(i) + 1 End IfNext i该程序段执行后,数组元素a(7)的值是( )A.2 B.10 C.11 D.127.有如下VB程序段: Dim i As Integer, j As Integer, st As Stringn = 5 For i = 1 To 5st = “ ”If i < 4 Then For j = 1 To i st = st + “*” Next jElseFor j = i To n st = st + “*”Next j End If List1.AddItem stNext i该程序段运行后,在列表框List1中显示的内容是( )8.有如下VB程序段: Dim a(1 To 6) As Long, i As Integer, x As Long, y As Long x = 654321 For i = 1 To 6a(i) = x Mod 10x = x 10y = y + a(i) * 10 ^ (6 - i + 1) Next i执行该程序段后,变量y的值为( )A.123456 B.1234560C.6543210 D.6543219.计算斐波那契数列的前n项。该数列从第 3 项开始,每一项都等于前两项之和,其中第1项为1,第2项也为1。计算前第 n项的 VB程序段如下所示:Private Sub Command1_Click() Dim n As Integer,i As Integer,a As Long,b As Long,c As Long a = 1 b = 1 n = Val(Text1.Text) List1.AddItem Str(a) List1.AddItem Str(b) For i = 3 To n List1.AddItem Str(c) Next iEnd Sub上述程序中方框处可选语句为( )①a=b ②c=a+b ③b=cA.①、②、③ B.①、③、②C.③、①、② D.②、①、③10.有如下VB程序段:n = 0For i = 1 To Len(Text1.Text)c = Mid(Text1.Text, i, 1)If c >= “0” And c <= “9” Then m = 1 Else m = 2a(m) = a(m) + 1If a(m) = 1 Then n = n + 1Next i数组a各元素的初始值都为0,文本框Text1的内容为“Happy2018”。执行程序后,变量n的值为( )A.1 B.2 C.4 D.9二、非选择题11.小明编写了一个计算BMI指数的VB程序。BMI指数(即身体质量指数,称简体质指数又称体重,英文为Body Mass Index,简称BMI),是用体重(公斤)除以身高(米)平方得出的数字,是目前国际上常用的衡量人体胖瘦程度以及是否健康的一个标准,BMI指数的判断标准如下表所示:BMI指数<18.522.918.5~23~25~24.929.9≥30≥40.0结果偏瘦正常偏胖肥胖重度肥胖极重度肥胖程序运行时,在文本框Text1中输入体重,在文本框Text2中输入身高,单击”测试”按钮Command1,在标签Label4中显示对应的结果。程序运行界面如下图所示。实现上述功能的VB程序如下,请回答下列问题:Private Sub Command1_Click() Dim h As Single, w As Single, ans As Single, s As String w = Val(Text1.Text) h = Val(Text2.Text) ______①______ If ans< 18.5 Thens = “偏瘦” ElseIf ans< 22.9 Thens = “正常” ElseIf ans<= 24.9 Thens = “偏胖” ElseIf ans<= 29.9 Thens = “肥胖” ElseIf ans< 40 Thens = “重度肥胖” ______②______s = “极重度肥胖” End If Label4.Caption = sEnd Sub(1)程序代码“Private Sub Command1_Click()”中Command1_Click()是指________(选填:对象 / 属性 / 过程 / 事件 / 方法)。(2)请在程序划线处填入合适代码。(3)程序运行时,输入体重70,身高1.65,则测试结果为________。12.编写VB程序,实现如下功能:在文本框中输入一个整数,单击“计算”按钮Command1,则输出表达式1-+-+…+的值。程序运行界面如下图所示。(1)该VB窗体上共包含________类对象。(2)实现上述功能的VB程序如下,请在划线处填入合适的代码。Private Sub Command1_Click() Dim n As Integer, p As Long, s As Double, i As Integer, t As Integer s = 0 t = 1 p = 0 n = Val(Text1.Text) For i = 1 To n ________①________ s = s + t * 1 / p ________②________ Next i Label1.Caption = Str(s)End Sub(3)运行该程序,在文本框Text1中输入5,单击“计算”按钮,则表达式的值是________。13.小明编写了一个VB程序,功能如下:输入一个不超过10000的整数,若该数的各位数字之积是其各位数字之和的倍数,则输出“Yes”,否则输出“No”。程序运行时,在文本框Text1中输入一个整数,单击“判断”按钮Command1后,在标签Label3中显示判断结果。程序运行界面如下图所示。(1)在设计程序界面时,要清空标签Label3中的显示内容,应修改该标签的______属性。(2)实现上述功能的VB程序如下,请在划线处填入合适代码。 Private Sub Command1_Click() Dim x As Integer, h As Integer, k As Integer x = Val(Text1.Text) h = 0 k=1 Do While x > 0 h = h + x Mod 10 k=________①________ x = x 10 Loop If ________②______Then Label3.Caption = “Yes” Else Label3.Caption = “No” End IfEnd Sub(3)运行该程序,在文本框Text1中输入1234,单击“判断”按钮,显示的判断结果为________。14.编写“加法练习题生成器”程序,实现如下功能:在文本框Text1中输入题数n,单击“生成”按钮Command1,在列表框List1中显示n个两数之和小于100的加法练习题。程序运行界面如图1所示。(1)在设计程序界面时,应使用图2所示“控件工具箱”中的______(填写相应编号)添加“生成”按钮。 (2)实现上述功能的VB程序如下,请在划线处填入合适的代码。Private Sub Command1_Click( ) Dim n As Integer,i As Integer,a As Integer,b As IntegerRandomizen=Val(Text1.Text)i=____①____Do While i<=na=Int(Rnd*100)b=Int(Rnd*100)If____②____Then List1.AddItem“(“+Str(i)+”)“+Str(a)+”+“+Str(b)+”=” i=i+1End IfLoopEnd Sub(3)运行该程序,在文本框中输入5,单击“生成”按钮后,对语句“a=Int(Rnd*100)”执行次数的描述,最合理的是______(单选,填字母:A.执行次数等于5 / B.执行次数大于等于5 / C.执行次数小于等于5)。 15.哥德巴赫猜想:任意一个大于等于4的偶数,都可以用两个素数之和表示。如:4=2+2,6=3+3,8=3+5,10=5+5,12=5+7,98=17+79。编写一个验证哥德巴赫猜想的VB程序:程序运行时,在文本框Text1中输入一个大于等于4的偶数,单击“验证”按钮Command1后,如果哥德巴赫猜想验证成功,则在文本框Text2中显示“Yes”,并在列表框List1中显示用两个素数表示该偶数的等式,否则显示“No”。程序运行结果如图所示。实现上述功能的VB代码如下,但加框处代码有错,请改正。′函数pp(x)的功能是判断整数x是否为素数,若是素数则返回True,否则返回FalseFunction pp(x As Integer) As Boolean Dim j As Integer pp = True j = 2 Do While j <= Int(Sqr(x)) And pp=True If x Mod j = 0 Then pp = False Else ′① LoopEnd FunctionPrivate Sub Command1_Click() Dim n As Integer, p As Integer, q As Integer, pd As Boolean n = Val(Text1.Text) p = 1 pd = False Do While Not pd And p < np = p + 1 ′②If pp(p) And pp(q) Then Text2.Text = “Yes” pd = True List1.AddItem Str(n) + “=” + Str(p) + “+” + Str(q)End If Loop If pd = False Then Text2.Text = “No”End Sub程序中加框①处应改正为____________________________________________;加框②处应改正为____________________________________________________。16.有趣的乘法:输入一个个位数不是5的奇数p,寻找一个整数s,使得p×s = 1111...1(每位数字均为1),要求输出整数s及它们乘积中1的个数(即乘积有几个1构成)。例如,当p=13时,13*8547=111111,因此整数s为8547,乘积由6个1构成;当p=23时,整数s为48309178743961352657,乘积由22个1构成。算法思想:首先生成一个比p大的全1数a,如果a能整除p,则算法结束,否则继续扩大a的位数,如此继续,直至a整除p。程序运行界面如下图所示,在文本框Text1中输入整数p,单击“计算”按钮,在文本框Text2中输出整数s,在文本框Text3中输出乘积中1的个数。小明依据上述描述设计如下VB程序。请回答下列问题:(1)当p=3时,整数s为________。(2)请在划线处填入合适的语句。Private Sub Command1_Click() Dim p As Long, a As Long, b As Long, c As Long, n As Long Dim s As String ′存放整数s,因为该数较大,因此采用字符串存储 Do While True ′判断输入的整数p是否为个位不是5的奇数 p = Val(Text1.Text) If p Mod 2 < > 0 And p Mod 5 < > 0 Then Exit Do Loop a = 0 n = 0 Do While a < p __________①__________ n = n + 1 Loop c = a Mod p s = Str(a p) Do While c < > 0 a = c * 10 + 1 __________②________ s = s & b n = n + 1 ________③________ Loop Text2.Text = s Text3.Text = Str(n)End Sub 展开更多...... 收起↑ 资源列表 专项测试二 算法基础.doc 专项测试二 算法基础原卷版.doc