Private Sub Command1_Click()
Dim str1 As String, str2 As String
str1=InputBox("输入一个字符串")
subf str1, str2
Print str2
End Sub
Sub subf(s1 As String, s2 As String)
Dim temp As String
Static i As Integer
i=i+1
temp=Mid(s1, i, 1)
If temp<>"" Then subf s1, s2
s2=s2 & temp
End Sub
程序运行后,单击命令按钮Command1,且输入"abcdef",则输出结果为( )。
答案为什么是 fedcba 我感觉应该是abcdef ??
Sub subf(s1 As String, s2 As String)
Dim temp As String
Static i As Integer ‘静态变量
i=i+1 ’每次调用,i就加1
temp=Mid(s1, i, 1) ‘取第i个字符
If temp<>"" Then subf s1, s2 ‘若temp不空,就递归调用,因i是静态变量,故i在不断变大
s2=s2 & temp ‘把取到的字符接到后面
End Sub
要注意的是它在递归返回时才进行的连接:
追问为什么是从后面倒着开始返回
追答上楼梯是一、二、三、四,那么下楼梯时就必定是先下第四级,然后才是三、二、一。
因为递归是利用系统栈来实现的,而栈的特点就是“先进后出”,就是上面我们说的,最先上第一级、那么最后下的就必定是第一级。
一道VB程序设计题
输入行数和列数,程序生成随机矩阵,矩阵的每一行元素之和放在该行最后一个位置。程序通过以下步骤实现:首先接收输入的行数和列数。接着,根据输入的行数和列数创建一个数组,并填充随机数。然后,对矩阵每一行的元素求和,将结果存入最后一列。最后,输出整个矩阵。
一道无敌难的VB!!!
Option Explicit Private Sub Form_Load()VScroll1.Min = 0 VScroll1.Max = 1000 VScroll1.SmallChange = 1 VScroll1.LargeChange = 10 VScroll1.Value = 1000 Call Xi End Sub Private Sub Xi()Dim X As Single, C As Single, F As Single X = 1000 - VScroll1.Value C = X \/ ...
有一道VB题目,没看懂为什么会倒置,希望大虾给个解,指条明路,谢谢~_百 ...
这题的答案为D,即窗体上的输出结果为GFEDCBA。函数Ucase(字符串表达式)是将字符串表达式的值转换为大写字符。函数Fun(字符串)是一个将其参数字符串倒置的自定义函数。为何倒置,是关键提问,原因:Mid(S,i,1)是提取字符串S的第i个字符,Mid(S,i,1)+s1就是把提取的字符串S的第i个字符放在s1...
一道vb 题目 请高手解答
本文提供了一段VB代码,用于解决特定问题。代码采用了直接方法,即逐数检查,筛选出符合条件的数字对,并在主函数Form_Load中进行调用。通过将结果存储在变量result中,最终通过MsgBox展示。代码的核心在于检查数字对中的重复性,通过定义函数noRepeated来实现。在noRepeated函数中,我们首先初始化一个布尔变量...
vb编程中有这样一道题,对于初学者是在不懂,谢谢!
在VB编程中,处理数学运算时,常使用到e和ln这两个符号。e表示自然常数,可以通过exp函数表示,即e的x次方表示为exp(x)。同样,ln表示自然对数,可以通过log函数表示,即ln(x)表示为log(x)。这里的x可以是任何表达式。在进行具体运算时,需要确保使用正确的括号来确保运算顺序。例如,如果我们需要计算...
一道VB二级题目:声明一个变量为局部变量应该用 A)Global B)Private...
正确答案:C 解析:根据变量的定义位置和所使用的定义变量的语句不同,VisualBasic中的变量可以分为局部变量、模块变量和全局变量。模块级变量在模块部分用Private或Dim语句声明;全局变量必须用Public或Global语句声明;局部变量在过程内用Dim或Static语句声明。注意:根据定义变量的关键字不同,变量的作用范围...
问一道VB的基础题
C这就是个交换算法的数学应用。举个简单的例子:a=5,b=3 a=a+b,则a=8,b=3 b=a-b,则,a=8,b=5 a=a-b,则a=3,b=5,交换成功。
一道关于vb常量的问题
B正确 A、 #True#不是常量(正确的应该是True)B、1.34D2相当于1.34E2,即1.34*10^2,也就是134,所以这是个数值常量;25!是个单精度浮点数(Single)C、02-03-2002不是常量,#02-03-2002#才是;D-3也不是常量 D、ABCDE和E-2不是常量 ...
这样一道vb提:x=5,y=15,z=3,计算(y mod10)×10+y\\10
Dim z As Integer Dim a As Integer x = 5 y = 15 z = 3 a = (y Mod 10) * 10 + y \\ 10 Print a End Sub 立即窗口 *MSDN解释:在中断模式时会自动打开,且其内容是空的。1.键入或粘贴一行代码,然后按下 ENTER 键来执行该代码。2.从立即窗口中复制并粘贴一行代码到代码窗口中,...
一道计算机VB题
答案是C。这个问题涉及到两个问题。一是常数计算过程,二是结果是何种类型的问题。先说第一个问题。计算A=16384*2时,先计算16384*2,把计算结果保存在一个临时变量中,再把这个临时变量的值赋给A。再说第二个问题。16384*2的结果是什么类型?是整型。因为16384与2都是整型,计算结果仍是整型。而=...