1、 Next i Print #2, count Close #1, #2End Sub第二题请打开指定文件夹下的工程文件CountWord.vbp,并在标准模块Module1中的main过程中实现如下功能:在给定的单词序列中,统计指定的关键字在序列中出现的次数,并将结果写入输出文件out.Txt中。输入文件in.txt有2行,第1行中第1个数表示单词序列中单词的个数,第1行中第2个数据表示要查找的关键字,第2行表示给定的单词序列。每个单词之间用逗号隔开。5 dogCat,dog,good,bear,character1 Dim n As Integer, word As String Dim
2、i As Integer, s As String For Input As #1 Input #1, n, word Input #1, s If s = word Then count = count + 1第三题求最大公约数的算法思想:(最小公倍数=两个整数之积/最大公约数) (1) 对于已知两数m,n; (2) m除以n得余数r; (3) 若r=0,则n为求得的最大公约数,算法结束;否则执行(4); (4) mn,nr,再重复执行(2)。请打开指定文件夹下的工程文件gcd.vbp,并在标准模块Module1中的main过程中实现如下功能:从输入文件in.txt中读入给定的两个数,并求出
3、这两个数的最大公约数和最小公倍数,并将结果写入到输出文件out.Txt中。输入文件in.txt有1行两个数,用空格分开,表示给定的数据。输出文件out.Txt 有1行两个数,第一个数表示最大公约数,第二个数表示最小公倍数,两个数之间用空格分开。6 9 3 18 Dim m As Long, n As Long, r As Long, t As Long Dim m1 As Long, n1 As Long Input #1, m, n m1 = m: n1 = n Do r = m Mod n: m = n: n = r: Loop Until r = 0 Print #2, m; m1 /
4、m * n1第四题基本思想:n个有序数(从小到大)存放在数组a(1)a(n)中,要插入的数x,把数x插到有序数列中,插入后数列仍然有序。请打开指定文件夹下的工程文件insert.vbp,并在标准模块Module1中的main过程中实现如下功能:从输入文件in.txt中读入给定的数据,完成上述思想,并将结果写入到输出文件out.Txt中。输入文件in.txt有2行,第1行有两个数,用空格分开;第1个数表示有序数列中数的个数,第二个数表示要插入的数;第二行表示有序数列。输出文件out.Txt 有1行,表示插入指定数后的有序数列,各个数之间用空格分开。5 2412 15 34 45 56 12 15
5、 24 34 45 56Option Base 1 Dim n As Integer, num As Long Dim a() As Long, i As Integer ReDim a(n + 1) Input #1, a(i) i = n Do While a(i) num And i = 1 a(i + 1) = a(i) i = i - 1 Loop a(i + 1) = num For i = 1 To n + 1 Print #2, a(i);第五题字母循环加密的基本思想是:将a-z,AZ各看成一个环,将每个字母加一序数K,即用它后(前)面的第K个字母代替。例如序数k为2,这时大写
6、字母:AC,BD,Z。 小与字母:acbdz请打开指定文件夹下的工程文件jiami.vbp,并在标准模块Module1中的main过程中实现如下功能:读入输入文件in.txt中的数据,实现上述思想,并将结果写入到输出文件out.Txt中。输入文件in.txt有2行,第1行表示每个字母要加的序数,第2行表示待加密的字母序列。输出文件out.Txt 是1行,表示加密后的字母序列。3How are youKrz duh brxDim x As String, y As String, m As String, i As IntegerDim key As IntegerDim n As Intege
7、rOpen Input #1, keyInput #1, xm = For i = 1 To Len(x) y = Mid(x, i, 1) If y = And y 26 Then n = n - 26 If n max Then max = a(i, j) i1 = i j1 = j Next j Print #2, i1; j1第七题素数的定义:除了1和自身没有其他约数的正整数称为素数。经过证明,如果正整数m在2INT()的范围内没有约数,则m为素数。素数判断的基本方法:将正整数m作为被除数,将2INT()之间的各正整数作为除数,如果都不能整除,则m是素数,否则m不是素数。请打开指定文件
8、夹下的工程文件prime.vbp,并在标准模块Module1中的main过程中实现如下功能:从输入文件in.txt中读入给定数,判断该数是不是素数,若是,则在输出文件out.Txt中写入True,若不是素数,则在输出文件out.Txt中写入False。输入文件in.txt有1行,表示给定的正整数。输出文件out.Txt 是1行,表示是否素数的判断结果。17 True Dim n As Long, i As Long Input #1, n For i = 2 To Int(Sqr(n) If n Mod i = 0 Then Exit For Next If i Int(Sqr(n) Then
9、 Print #2, True Else Print #2, False第八题经过证明,如果正整数m在2INT( )的范围内没有约数,则m为素数。将正整数m作为被除数,将2INT( )之间的各正整数作为除数,如果都不能整除,则m是素数,否则m不是素数。请打开指定文件夹下的工程文件primenumber.vbp,并在标准模块Module1中的main过程中实现如下功能:从输入文件in.txt中读入一个正整数,求出小于等于该数的所有素数,并将结果写入到输出文件out.Txt中。输出文件out.Txt 有1行,表示指定范围内的所有素数,每个素数之间用空格分开。20 2 3 5 7 11 13 17
10、19 Dim N As Long, i As Long, K As Long Dim maxN As Long For Input As #2 Input #2, maxN For Output As #1 For N = 2 To maxN K = Int(Sqr(N) For i = 2 To K If N Mod i = 0 Then Exit For K Then Print #1, N; Next N第九题折半查找思想:设n个有序数(从小到大)存放在数组a(0)-a(n-1)中,要查找的数为x。用变量bot、top、mid 分别表示查找数据范围的底部(数组下界)、顶部(数组的上界)和
11、中间,mid=(top+bot)2。若x=a(mid),则已找到退出循环,否则进行下面的判断;若xa(mid),x必定落在mid+1和top的范围之内,所以修改bot=mid+1;在确定了新的查找范围后,重复进行以上比较。请打开指定文件夹下的工程文件Search.vbp,并在标准模块Module1中的main过程中实现如下功能:在给定的有序数列中,利用折半查找算法查找指定关键字,如果找到则将查找的次数写入输出文件out.Txt中;若没找到则在输出文件out.Txt中写入-1。输入文件in.txt有2行,第1行中第1个数表示数列中数的个数,第1行中第2个数表示要查找的关键字,第2行表示给定的有序
12、数列。输出文件out.Txt 是1行,表示查找关键字所用次数,若没找到则写入-1。5 5612 34 45 56 58Dim find As BooleanDim a() As Long, x As LongDim i%, top%, bot%, mid%, n%Input #1, n, xReDim a(n)For i = 1 To nNexttop = n: bot = 1find = False find为是否找到的标志变量i = 0Do While top = bot And find = False mid = (top + bot) 2 i = i + 1 If x = a(mid
13、) Then find = True ElseIf x a(mid) Then top = mid - 1 bot = mid + 1LoopIf find = False Then Print #2, -1Else Print #2, iEnd If第十题请打开考号文件夹下的工程文件sort.vbp,并在标准模块Module1中的main过程中实现如下功能:将给定的一组数按照从小到大的顺序排序,并将结果写入到输出文件out.Txt中,所需数据从输入文件in.txt读入。输入文件in.txt有2行,第1行表示参加排序的数的个数,第2行表示要排序的一组数。输出文件out.Txt 是1行,表示排序
14、后的结果,各个数字之间用空格隔开。5 53 34 4 45 104 10 34 45 53Dim a() As Long, t As LongDim i%, j%, n% For Output As 2Input #1, nFor i = 1 To n - 1 For j = i + 1 To n If a(j) a(i) Then t = a(i): a(i) = a(j): a(j) = t a(i)与a(j)交换 排好一个输出一个Print #2, a(n) 输出最后一个数第十一题请打开考号文件夹下的工程文件string_2.vbp,并在标准模块Module1中的main过程中实现如下功
15、能:将给定字符串中的所有数字字符(09)去掉,并将结果写入到输出文件out.Txt中,给定字符从输入文件in.txt读入。输入文件in.txt有1行,表示源字符串。输出文件out.Txt 也是1行,表示去掉数字字符(09)后的结果字符串。 Abc019a0b123AbcabDim i%, s$, x$, t$Input #1, st = For i = 1 To Len(s) x = Mid(s, i, 1) If x 9 t = t & xPrint #2, t第十二题合并排序是将两个有序数列(均为升序)A、B合并成另一个有序数列C,合并后C仍然为升序)1)先在A、B数列中各取第一个元素进行
16、比较,将小的元素放入C数列中;2)取小的元素所在数列的下一个元素与另一数列中上次比较时较大的元素再进行比较,并将小的元素放入C数列中。重复2),直到某个数列已全部放入C中;3)将另一个数列的剩余元素抄入到C数列中,合并排序完成。请打开指定文件夹下的工程文件union.vbp,并在标准模块Module1中的main过程中实现如下功能:输入文件in.txt有3行,第1行中有两个用空格隔开的数,第1个数表示参与合并的的第1个数列的数据个数,第2个数表示参与合并的第2个数列的数据个数;第2、3行,分别表示参与合并的两个数列。输出文件out.Txt 是1行,表示合并排序后的结果,各个数字之间用空格隔开。3 44 8 105 7 13 184 5 7 8 10 13 18 Dim a(), b(), c() Dim i As Integer, m As Integer, n As Integer Dim x As Integer, y As Integer, j As Integer ReDim a(m) ReDim b(n) ReDim c(m + n) Input #1, b(i) x = 1
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1