大题 复习资料
- 格式:doc
- 大小:168.00 KB
- 文档页数:23
难中等简单-------------------------------------------------字符串处理-------------------------------------------------'题目:对字符串进行加密处理。
' 加密过程:' 将每个字母C加一序数K=5,即c=chr(Asc(c)-5),' 这时"Z"→"U","z"→"u","Y"→"T"…' 当加序数后的字母小于"A"或"a"则c=Chr(Asc(c)-k +26)'-------------------------------------------------Private Function EnyStr(strI As String) As String'********** Program *********strnew = "" ‘加密后的新字符串For i = 1 To Len(strI) '依据字符串的长度确定循环次数c = Mid(strI, i, 1) '取出第i个字符If c <> " " Then ‘空格不加密c = Chr(Asc(c) - 5)If c < "a" Or c < "A" Then c = Chr(Asc(c) - 5 + 26)strnew = strnew + cElsestrnew = strnew + " "End IfNext iEnyStr = strnew'********** End *************End FunctionPrivate Sub Form_Load()ShowPrint EnyStr("abc def xyz")WWJTEnd Sub题目:统计字符串中的单词个数。
'算法思路:' (1)从文本(字符串)的左边开始,取出一个字符;' 设逻辑量WT表示所取字符是否是单词内的字符,初值设为False' (2)若所取字符不是"空格","逗号","分号"或"感叹号"等单词' 的分隔符,再判断WT是否为True,若WT不为True则表是新单词的开始,' 让单词数Nw=Nw+1,让WT=True;' (3)若所取字符是"空格","逗号","分号"或"感叹号"等单词的分隔符,' 则表示字符不是单词内字符,让WT=False;' (4) 再依次取下一个字符,重得(2)(3)直到文本结束。
'-------------------------------------------------Private Function CountWord(strI As String) As Integer'********** Program *********wt = 0nw = 0For i = 1 To Len(strI)ch = Mid(strI, i, 1)If ch = " " Or ch = "," Or ch = ";" Or ch = "!" Or ch = "." Then wt = 0ElseIf wt = 0 Thennw = nw + 1wt = 1End IfEnd IfNext iCountWord = nw'********** End *************End FunctionPrivate Sub Form_Load()ShowPrint "单词数:" & CountWord("Hello,Word!Good Morning.")WWJTEnd Sub-------------------------------------------------数列求和-------------------------------------------------'题目:(事件)单击窗体。
' (响应)求从100到1000之间所有是3的倍数的数之' 和,当和大于3000时,停止计算并输出和。
请将结果输' 出到窗体上,并存入所给变量SUM中。
使用for...next语' 句完成程序Private Sub Form_Click()Dim sum As Integer'***************** Program **************For i=100 to 1000If i mod 3=0 then sum=sum+iIf sum>=3000 then exit forNext i'*************** End ************************* Call YZJ(sum)End SubPrivate Sub YZJ(i As Integer)Dim OUT As IntegerOUT = FreeFileOpen App.Path & "\out.txt" For Output As #OUTPrint #OUT, iClose #OUTEnd Sub'题目:(事件)单击窗体。
' (响应)输出斐波那契数列1,1,2,3,5,8,13 (20)' 数的值' 即f1=1 (n=1)' f2=1 (n=2)' fn=f(n-1)+f(n-2)(n≥3)' 使用for...next语句完成程序,并将结果' 存入变量sum中'-------------------------------------------------Private Sub Form_Click()Dim sum As Integer, f1 As Integer, f2 As Integerf1 = 1f2 = 1'***************** Program **************For i=3 to 20 ‘方法一F3=f2+f1F1=f2F2=f3Next iSum=f3***************************Dim f(20) as integer ‘方法二F(1)=f1F(2)=f2For i=3 to 20F(i)=f(i-1)+f(i-2)Next iSum=f(20)'*************** End *************************Call YZJ(sum)End Sub'题目:(事件)单击窗体。
' (响应)求200~300之间既能被3整除又能被7整除的数。
' 并求出所有数之和存入变量SUM中Private Sub Form_Click()Dim sum As Integersum = 0'***************** Program ************For I =200 to 300If I mod 3 =0 and I mod 7 =0 thenSum =sum +iEnd ifNext i'*************** End ******************YZJ (sum)End Sub'题目:(事件)单击窗体。
' (响应)求1-100中为5或7的倍数的和。
请将结果' 输出到窗体上,并存入所给变量SUM中。
' 使用while...wend语句完成程序'-------------------------------------------------Private Sub Form_Click()Dim sum As Integer'***************** Program **************I=1While i<=100If (i mod 5 =0) or (i mod 7=0) thensum=sum+iEnd ifI=i+1wend'*************** End ************************* Call YZJ(sum)End Sub'题目:(事件)单击窗体。
' (响应)求100到500之间奇数的和,将结果输出' 在窗体上并存入变量SUM中。
' 使用do...loop until语句完成程序'Private Sub Form_Click()Dim sum As Long'***************** Program **************I =101DoSum=sum+iI=i+2Loop until i>500'*************** End *************************End S Call YZJ(sum)End Sub'题目:编写程序,当单击窗体时求出1+1/3+1/5+1/7+...' 的和,直到所加项1/n小于10的-3方,所求结果用' 变量s存放,并在窗体上输出计算结果。
' (要求用While .............Wend 循环来做此题)'-------------------------------------------------Private Sub Form_Click()Dim s!, n%'**********Program**********N=1Do While 1/n>=0.001S=s+1/nN=n+2loop'********** End **********wwjt CStr(s)End Sub'题目:(事件)双击窗体。
' (响应)求3+6+9+12+15+18+……+300的和,并将结果输出到窗体上。