算法加试题一周一练
行政班:        教学班:        姓名:        学号:       
【加试题】一个字符串中任意个连续的字符组成的子序列称为该字符串的子串。字符串“ABC”、“BC”、“BCDE”等都是字符串“ABCDE”的子串。小明编写了一个判断子串的程序,功能如下:在文本框Text1中输入一个字符串S1,在文本框Text2中输入一个字符串S2。单击按钮Command1后,在标签Label1上显示S1是否是S2的子串。程序运行界面如下图所示:
 
1)下图所示,要设置标签上输出文字的颜,应该修改标签的      (填对应的属性名)属性。
2)实现上述功能的VB程序如下。请在划线处填入合适代码。
Private Sub Command1_Click()
Dim s1 As String, s2 As String
Dim c1 As Integer, c2 As Integer
Dim flag As Boolean
s1 = Text1.Text
s2 = Text2.Text
c1 = Len(s1)
c2 = Len(s2)
flag = False
For i = 1 To              
    If Mid(s2, i, c1) = s1 Then
        flag = True
        Exit For
    End If
Next i
If         Then
  Label1.Caption = s1 + "" + s2 + "的子串!"
Else
    Label1.Caption = s1 + "不是" + s2 + "的子串!"
End If
End Sub
3)假设上述代码已经填空正确。小明设置对象属性时,把上图①所示“Label1”修改成“判断”,那么上面代码能否正确运行      (填:能/不能)。
【加试题】公民身份号码是由十八位字符组成。排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位校验码。顺序码的奇数分给男性,偶数分
给女性。小明编写了VB程序,功能如下:在文本框Text1中输入身份证号,单击按钮Command1后,在标签Label2上显示出生日期,在标签Label3上显示性别和周岁。周岁计算公式为:2016年减去出生年份。程序运行界面如下图所示:
1)上图所示,要将窗体标题由“身份推断年龄”修改为“身份证判断”,应该修改窗体Form1        (填对应的属性名)属性。
2)实现上述功能的VB程序如下。请在划线处填入合适代码。
Private Sub Command1_Click()
Dim sfz As String  '存储输入的身份证号
Dim year As String '存储出生年份
Dim month As String
Dim day As String
Dim age As Integer
Dim num As Integer  '存储顺序码
Dim sex As String  '存储性别
               
year = Mid(sfz, 7, 4)
month = Mid(sfz, 11, 2)
day =                  
num =                  
age = 2016 – Val(year)
If             Then
  sex = ""
Else
  sex = ""
End If
Label2.Caption = year + "" + month + "" + day + ""
Label3.Caption = sex +           + "周岁"
End Sub
vba 字符串转数组
答案
1
c2 - c1 + 1
flag   flag = True
2
sfz = Text1.Text
Mid(sfz, 13, 2)
Val(Mid(sfz, 15, 3))
num Mod 2 = 1
Str(age)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。