问题
填空题
下列程序的功能是将字符串“abcde”逆序打印出来。请填写空白处以完善程序。 Function rev(str1) As String B=Mid(______,1,1) If B=""Then rev="" Else rev=rev(Mid(str1,2))+______ End If End Function Private Sub Form_Click() old="abedE" Print rev(old) End Sub
答案
参考答案:str1 b
解析: 本程序使用“递归”的思想,每次递归取出一个字符放到字符串的后面,然后以后面的字符串作为函数参数进入下一次递归。b=Mid(______,1,1)语句的作用是取出本次递归中字符串的第一个字符,因此该空白处应填str1;rev=rev(Mid(str1,2)+______语句是将本次递归中字符串的第一个字符放到它的后面,因此该空白处应填b。递归是一种很重要的算法,在程序设计语言中广泛应用。递归的思想是指函数、过程、子程序在运行过程中直接或间接调用自身而产生的重入现象。简单地说就是自己调用自己。