java编写窗体程序一个程序,在窗体对象中使用函数过程实现计算任意10个数中超过平均

VB程序填空改错设计题库全-共享资料网
VB程序填空改错设计题库全
1.'功能:以下程序段用于计算 n 的阶乘:n! 。 (1!=1) 2. 已知某城市一年的交通事故车辆报废情况,编程序计算该城市的交通事故一年损失金额。 3. 下面的程序用&冒泡&法将数组 a 中的 10 个整数按从小到大排列,请将程序补充完整。 4. '程序运行界面。键盘输入 3 个数,将它们按由大到小的顺序输出,-1 为结束标志。 5. '在窗体有三个复选框,名称分别为 Ch1、Ch2 和 Ch3,标题依次为'&体育&、&音乐&、&美术&,还有一 个命令按钮,名称为 C1,标题'为&显示&。要求程序运行后,如果选中某个复选框,则当单击'&显示&命令 按钮时,则显示相应的信息。例如,如果选中&体育&'和&音乐&复选框,则单击&显示&命令按钮后,在窗 体上显示'&我的爱好是体育音乐&(如图 1 所示) ;而如果选中&体育&、'&音乐&和&美术&复选框,则单击& 显示&按钮后,在窗体上显示&'我的爱好是体育音乐美术&。 6. 窗体上建立了一个文本框 Text1(&输入口令&)和一个命令按钮 Command1(&检查&)。 ' 否正确,并显示相应提示在加载窗体时设置密码框最大长度为 8,密码显示字符为“*” 7. 下面的程序用于求三个数中最大数 8. 要求输入若干学生的成绩,计算平均分和高于平均分的 人数,并将这两个数据放入数组的最后。 9. 求 A,B,C 三个数的最大值。 10. 该程序通过 For 循环计算一个表达式的值,这个表达式是 1/2+2/3+3/4+4/5 11. 用户单击命令按钮后, 程序将文本框 Text1 中的文本反转显示, 同时在文本框 Text2 中显示文本框 Text1 中字符串的个数 12. 功能:单击“插入数据”按钮后,输入一个整型数据,该数据会被插入到一个有序的数组 a(1 to 10)中, 插入该数据后数组还是有序的。 13. 文件检验中,经常要统计一段文字中某些字出现的频率。如图所示,编一程序,统计文本框输入的一 段文字中&我&&的&&计&&照&&是&几个字出现的频率,将结果显示在图片框 14. '在窗体上有一个名称为 Text1 的文本框,一个名称为 C1,标题'为&校验&的命令按钮。其中文本框用来 输入口令(如图 1 所示) ,要求在文本框中输入的内容都必须以&*&显示(请考生自己通过属性窗口设置) 。 要求程序运行后,输入口令,单击命令按钮后,对口令进行校验。 如果输入的内容是&ABC&这 3 个大写' 字母,则用 MsgBox 信息框输出&正确&,否则输出&错误& 15. 功能:以下程序段实现的功能是:查找一数列中是否存在某数字 x,'若数列中存在该数字,则输出其 出现的次数,否则输出不存在信息 16. 输入数字 1-7,显示其对应是星期几(例:输入 1,显示星期日,如果输入其它内容,一律显示&输入错误&) 17. 下面是一个体操评分程序,10 位评委,除去一个最高分和一个最低分,计算平均分 分) 18. 写出程序运行后,单击窗体,Form1 上显示的内容 sum 函数的功能为累加求和 19. 以下程序用于判断一个正整数(≥3)是否为素数。 20. 以下程序段分别以子过程和函数来计算某级数部分和,级数公式如图 1 所示。 21. 本程序段将一个十进制整数 m 转换成 r (2-16)进制字符串 方法:将 m 不断除 r 取余数,直到商为零,以反序得到结果。 22. 以下程序段用于求∑n! 23. 以下程序段用于计算数组中各元素的乘积。 24. 在文本框内输入一串字符后,统计并显示各字母出现的次数不区分大小写字母。 25. 下面的程序段,用于实现在一个 nXm 的矩阵中,找出值最大的元素所在的行和列,并输出其值及行号 和列号。 26. 本程序功能为,单击窗体,Form1 的输出结果为 A1=10B1=20A2=20B2=10 27. 本程序使用控件数组生成一个国际象棋棋盘。程序运行后单击某棋格,改变其颜色,即白变黑、黑变 白,并在单击的棋格内显示其序号 28. '定义方阵的一种范数为该方阵各列元素的绝对值之和中的最大值。以下程序的功能 (设满分为 10 判断密码是 '是求一个 4×4 方阵的范数。该方阵的数据是随机生成的-20~20 之间的整数。 29. 利用自定义类型数组,编写如下程序:模拟实现数据库记录'输入、显示与查询功能。程序运行后,单击 “新增”按钮,将'文本框中的学生信息加到数组中;单击“前一个”或“后一个”'按钮,显示当前元素 的前或后一个记录;单击“最高”按钮,'则显示最高分的记录。并随时显示数组中输入的记录数与当前数 '组元素的位置。 30. 利用一个标签和三个水平滚动条,设计一个 RGB 调色板,运行界面如图所示 31:下面程序的功能是:首先生成一个由小到大已排好序的整数数组,再输入一个数据,单击&插入&按钮 会自动把这个数据插人到原数组适当的位置,并保持数组的有序性。程序界面参见下图。 32:功能:用户界面如图所示,实现左右两个组合框中数据的左移和右移功能。程序开始运行时,在左边 组合框中生成 10 个由小到大排列的随机三位正整数 (在设计阶段该组合框的 Sorted 属性值已设置为 True),现要求完成: (1)单击&>>&钮,左边组合框中的 10 个数全部移动到右边组合框,同时使&<<&钮能响应,&>>&钮 不能响应。 (2)单击&<<&钮,右边组合框中的 10 个数全部移到左边的组合框, ,同时使&>>&钮能响应,&<<& 钮不能响应; (3)单击&结束&按钮,结束程序运行。 33 :功能:本程序执行功能为,输入系列字符串,按递减次序排列。 (1)在文本框输入字符串,按回车键后存放到数组 a()中; (2)单击&排序&按钮(Command1)时,进行递减次序排列,并在图形框控件显示。 34:题目:已知用 inputbox 函数输入两个数 x 和 y,比较它们的大小,使得 x 大于 y。 35:功能:在窗体上建立两个文本框 Text1(输入数)及 Text2(显示结果),一个命令按钮 Command1(&判断 &)。单击按钮时判断 Text1 中输入的数值是否是 4 的倍数。 36 题:题目:编写简易画图程序。如图所示 37 :功能:完成程序,使程序输出如图示。 38 :下面的程序段用于打印出以下图形 * *** ***** ******* ***** *** * 39 :功能:从键盘上输入一串字符,以&?&结束,统计输入字符中的大、小写字母和数字的个数。 40 :功能:本程序运行后,单击“替换”按钮,可以将 text1 中包含的 text2 内容,替换为 text3 内容。 如果若 text1 中包含 text2,则将被查找内容替换为 text3 中内容,否则,不进行替换,并且将最终结果 打印在窗体上。运行效果如图 1 所示 41:题目:在窗体上有三个名称为 Ch1、Ch2 和 Ch3 的复选框,标题依次为&程序设计&、&数据库原理&、& 计算机网络&,还有一个名称为 C1,标题为&选课&的命令按钮(如图 1 所示) 。要求程序运行后,如果选择 某个复选框, 则当单击命令按钮时在窗体上输出相应的信息。例如:如果选择&程序设计&和&数据库原理 &复选框,则单击命令按钮后,将在窗体上显示&我选的课程是程序设计数据库原理&;如果选择&数据库原 理&复选框,则单击命令按钮后,将在窗体上显示&我选的课程是数据库原理&。 42:功能:要求在 Text1 中输入一段字符,选中“大写转为小写小写转为大写” ,单击转换按钮后,Text2 显示大小写相反的字符串;选中“全部小写” ,单击转换按钮后,Text2 显示全部小写的字符串;选中“全 部大写” ,单击转换按钮后,Text2 显示全部大写的字符串。 43 :功能:以下程序的功能如(图 1)。 44 :功能:以下程序段用于实现矩阵转置,即将一个 n×m 的矩阵的行和列互换 45:功能:完成程序,使程序输出值为 15 46:下面程序的功能是随机生成小于 100 的诸素数组成的数据。程序界面如下图所示。 47:将顺序文本文件 “MYFILE.TXT” 的内容一个字符一个字符地读入文本框 txtTest 中 48:根据输入的学习成绩,分别显示优秀(90 分以上), 良好 (75 分以上),及格(60 分以上),不及格几个等 级。 49:功能:下面的程序段用于打印出以下图形 * *** ***** ******* ***** *** * 50:功能:在窗体上设计两个文本框和两个标签,标签上显示 &摄氏温度&和&华氏温度&,文本框一个用于 输入摄氏温度数,一个用于输出对应的华氏温度?摄氏温度与华氏温度的转换公式为:c = (5 / 9) * (f 32)。要求:对输入的摄氏温度数有检查功能,拒绝接收非数字字符。 51 题:功能:本程序利用二分法查找某数字 n 是否在已排序的数列当中,若在其中则输出其在数列中的位 置,否则输出-1 52 题:在文本框 1 中输入若干以空格分隔的整数(末尾无空格) ,程序自动将输入的数据分解并存储到一个 一维数组,再把数组中所有重复的元素删除(只保留一个) ,并输出到文本框 2。 53 题:功能:写出程序运行时单击窗体后,Form1 上的输出结果 n=1 n=2 n=3 z=4 z=7 z=1054:下面的程序实现:从键盘输入一个数字,将其插入一个有序数组中,插入后的数组仍保持有序。 55:功能:用输入对话框输入 x,根据如图公式计算对应的 y,在窗体上输出 y 的值。 56:有 5 名警校同学打靶,每人 5 发子弹,编写程序把最好打靶成绩挑出来。 57:以下程序段用于计算若干个数字的最大公约数。 58:本程序将利用文本框 txtInput 输入的一行字符串中的所有字母加密,加密结果在文本框 txtCode 中显 示 。 加 密 方 法 如 下 : 将 每 个 字 母 的 序 号 移 动 5 个 位 置 , 即 &A&-&&F& , &a&-&&f& , &B&-&&G&......&Y&-&&D&,&Z&-&&E&.程序段如下: 59:本程序执行功能为,命令按钮单击一次后,窗体上输出结果为: 36,25,16,9 60:用以下公式(公式如下图所示)求 Sin(x)的值.当级数通项的绝对值小与 eps=10^-7 时停止计算,x 的值 由键盘输入.请完善如下程序 61. 功能:由筛选法求 m 以内的所以素数(1)把 2--m 以内的所有数放入筛中; (2)找筛中最小的素数, 再筛中去掉该素数的所有倍数; (3) 重复 (2) , 直到要找的筛中的最小素数已超出 m 的范围; (4) 在 Pictur1 中打印筛中的素数 1、1000 2、p=p+1 2 stu 3、False 4、prime(j)=1 3#1 5、end if 62. '功能:窗体中有若干控件,单击其中的一个按扭 cmdput 时,执行如下的事件过程,该过程的功能是 把数据输出到指定的文件中.1 Student 63'题目:有 12 个文本框代表 12 个位置。程序为 A-J 10 个字母分配十个位置,并显示座位分配。 64. '功能:程序输出结果为:n=3x=42y=91:1 '1. find m,n/call find(m,n)2:+1 23:loop s=1 3 x+y65.'下面程序的功能是计算如图所示的值。请完善如下程序 1 . st=“” 66. '功能:利用下面的过程求 m!和 m*n 显示该数字不在数组中。 1 1. num1&num2 Static 2.I 2.b&&0 3.sum(i) 2.t=1 1. length 1.Exit for 3.b=temp2 .(-1)^(i-1)/val(st)67. '功能:本程序用于实现:从键盘接收一数字,判断其是否在数组中,如果在数组中则将其删除,否则 2. i&=10 3.a(k)=a(k+1) 68. '功能:以下程序段用于实现:输入两个正整数 m 和 n,求其最大公因数和最小公倍数。 69. '功能:本程序功能为,第一次单击窗体,Form1 的输出结果为 2 70. '以下程序段用于计算数组中各元素的乘积。 1.a() 人手印长计算身高的函数? 5 971. '题目:据统计,手印全长与人体身高存在一定的比例关系:身高(厘米) =手印全长*9.75,编写通过 2. length(le) 72. '本程序的功能是把由4个&.&分隔的十进制数表示的 IP 地址转换为由 32 位二进制数组成的 IP 地址。例 如十进制表示的 IP 地址为 202.119.191.1,其中每个十进制数对应一个 8 位的二进制数,合起来构成一个 32 位二进制的 IP 地址 。过程 Tiqu 用于提取十进制 IP 地址中每个用&.& 分隔的十进制数;过程 Convert 用于将十进制数转换为相应的 8 位二进制数。程序界面参见下图。 1, str2=str2 & convert(a(i)) 身则这个数为水仙花数 插入该数据后数组还是有序的。 2, d=Mid(st,i,1) 3,s=”” 4, s=CStr(b)&s 或 s=b&s 1.999 2.100 1:Exit for 2:i+1 3:m 第三空:k=j 2.a&b 3.m&c 5,convert=s 3.b*10 73. '功能:打印出 100-999 之间的所有水仙花数如果一个数的百位,十位,个位数的立方和等于这个数本 74. '功能:单击“插入数据”按钮后,输入一个整型数据,该数据会被插入到一个有序的数组 a(1 to 10)中, 75. '以下程序段采用选择法对数组元素进行从大到小排序。第一空:k 77. '功能:下面的程序段用于建立文件并输出文件,文件内容如下: ' '***** ' ***** ' ' ' ***** ***** ***** 1.OutPut 2.Close #1 3.Input 第二空:i+176. max()用于求 3 个数中最大值, 利用这个过程求 5 个数中最大值。 1.max(max1,73,352)78. ' 功能:输入任何一个英文字母 x, 若 x 的值为 &a&,&c&,&d-f& , 则显示 x 的大写字母;若 x 的值为 &m&,&o&,&p-z&,则显示 x 的小写字母;若 x 的值为其它的值,则显示 xa(如输入的 X 的值是 g,则显示 ga) 。1. Select Case x 2.&a&, &c&, &d& To &f& 3.Label1.Caption = Trim(x) + &a& 或 Label1.Caption = x + &a&79. '功能:以下程序的功能如(图 1)。1.d&0 2.end if 3.else 2:n/2 3:a(h)=a(k) 80. '功能: 输入 n 个数, n 由用户输入。 程序的功能是将输入的 n 个数反向输出。 1:n 82. '功能:以下程序段用于计算若干个数字的最大公约数。1:1 2: Gcd(m1,n1) 2.t1 mod t2=081. '题目:能被 4 整除且不能被 100 整除,或者能被 400 整除的年份是闰年,试补充完整判断闰年的程序. 83.本程序求 3~100 之间的所有素数(质数)并统计个数;同时将这些素数从小到大依次写入顺序文件 dataout.txt;素数的个数显示在窗体 Form1 上。1.Open “e:\dataout.txt” For Output as #1 84. '下面程序的功能是:统计存放在数组 A 中的 N 个数有多少个是不同的。具体做法是:变量 Left 指向 要被处理的数(从第 2 个元素开始) ,Right 指向数组最后一个元素。若 A(Left)与排在它前面的某个数组 元素值相同, 就用数组元素 A(Right)的值来替换 A(Left)的值, 同时将变量 Right 的值减 1; 否则将变量 Left 的值加 1,处理数组下一个元素,重复以上过程,直到 Left&Right 为止。Right 的值即为不同的数的个数。 程序界面参见下图所示。1.UBound(A) 2.Left-1 3.I=0 4.ght=Right-1 85. '功能:以下程序段利用随机函数生成 15 个 10-100 之间的整数,然后用选择法将其从小到大排序。 1. int(rnd*91+10) 2. t=1 3.t&&i 86. '功能:在窗体上画一个标签(名称为 Label1 )和一个计时器(名称为 Timer1 ) ,然后编写如下几个 事件过程:要求:每一秒钟 Label1 更新显示一次系统时间 87. '用以下公式求 f(x) 的值。当通项的绝对值小于 10^-7 时停止计算,x 的值由键盘输入。 '程序界面和公式参考图片所示: 1. ' 1. Abs(x)&=1 2 .fx+a*t 3.a2=a 88. '功能:下面的程序段用于实现以下功能:利用冒泡法将一组整数 从小到大排序。 step-1 2 .work=false 3.exit for 2: Limit=CX 3: Limit 2: Input 3:189. '功能:用 Circle 方法在图片框正中画出许多不同颜色的同心圆,且不能画出图片框。 1: Picture1.ScaleWidth/2 90. '功能:本程序执行后,最终在窗体上打印数字 7。1: Output91'下面程序的功能是将给定整数 N 表示成若干个质数因子相乘的形式(分解质因数). 92.'功能:本程序用辗转相除法求自然数 m、n 的最大公约数和最小公倍数,求最大公约数的算法如下: (1) 对于己知两数 m、n,使得 m&n; (2) m 除以 n 得余数3) 若 r=0,则 n 为求得的最大公约数,算法结 束;否则执行(4)m=n,n=r 再重复执行(2)原两数相乘除以最大公约数即为最小公倍数。程序如下: 93.功能:以下程序段实现的功能是:查找一数列中是否存在某数字 x,若数列中存在该数字,则输出其出 现的次数,否则输出不存在信息。 94.功能:以下程序段采用递归的方法计算最大公约数。单击“计算”按钮时,窗体上输出两个文本框中数 字的最大公约数。 95.'功能:求表达式 s=x/2!+x^3/4!+...+x^(2n-1)/(2n)!的值,并在窗体上输出。 '96.功能:下面的事件过程判断文本框 Text1 中输入的数所在区间,并在文本框 Text2 中输出判断结果 97.'功能:窗体中有两个 List 列表,及 4 个按钮。程序功能,单击“产生随机数”按钮,随机产生 20 个随 机数填入 List1 中 “保存”按钮作用是将数组内容写到文件中“读出”按钮作用是将文件内容读到数组中 “结束”按钮作用是结束程序 98.'功能:求 1!+2!+??+10!的值。 99'功能:程序功能:在 Text1,Text2,Text3 中分别输入三个数字,在 Text4 中计算这三个数的和。如果 三个文本框的输入不为数字则显示错误提示 100.'功能:过程 suixian 可以判断某一个数字是否是水仙花数,利用 该过程找出三位数中所有水仙花数。 所谓&水仙花数&是指一个 3 位数,其各位数字立方和等于该数本身。 101.'功能:'以下程序段分别以子过程和函数来计算某级数部分和,级数公式如图 1 所示。 102.'下面程序的功能是:将输入的 2 位 16 进制数的每一位转换为一个 4 位的二进制数,再组合成为一个 8 位的二进制数。程序界面参见下图。 103.'功能:窗体上建立了两个文本框 Text1(输入字符串)及 Text2(转换结果),一个命令按钮 Command1(& 清除&)。录入 Text1 内容时,将录入内容大写字母转为小写,小写转为大写。 104.'下面程序的功能是:找出仅由数字 1、2、3、4 组成的 4 位素数,要求每个素数由 4 个不同数字组算 法提示:函数 Validate 用于验证一个 4 位数是否由 4 个不同数字组成。在函数中用 A 数组的各个元素分别 对应数字 0~9,只要某数字出现在四位数中,无论几次,均将该数字对应的数组元素值置为 1。程序界面 105.功能:以下程序的功能为,单击窗体后如果输入的数据分别为&W&,&8&和&?&时, 窗体上显示的内 容分别是:W is Alpha Character、8 is Numeral Character、?is Other Character 106.'功能:以下程序段用于输出杨辉三角:结果样式如图 1 107.'功能: 窗体上建立了一个文本框 Text1, 用于显示结果。 单击按钮弹出输入对话框录入 0-6 之间的数值, 判断输入值为星期几 108.'功能:从键盘输入学生分数,统计学生总人数和各分数段人数,即优秀( 90-100) 、良好(80-89) 、中 等(70-79) 、及格(60-69) 、不及格(60 以下)的人数。 109.'功能:求 X 的 N 次方,x 和 n 均用输入对话框输入 110.'功能: ' ' ' ' 写出程序运行时单击窗体后,Form1 上输出结果。 0 -1 -2 -3 2 1 0 -1 4 3 2 1111.'功能: 在窗体上有两个列表框 List1(处理前数据)和 List2(处理后数据), 以及标签 Label1。 程序功能为: 随机生成 100 个 0-20(不包括 0 和 20)的随机数填入 List1,并将这些随机数中的零元素删除,填入 List2 中。最后在 Label1 中显示零元素个数 112.'功能:本程序段实现的是简单加密功能。其加密方法为将每个字母加密为其后的第五个字母,即 ' &A& →&F&, &a&→f&,&B&→G&,'&b&→&g&.......&Y&→&D&,&Z&→&E&,对于非字母字符不处理。 113.窗体中有 Text1-Text7 共 7 个文本框,单击按钮 Command1 在中显示前 6 个文本框中的数值的最大数 114.'程序运行界面如图所示 随机产生 10 个 100 以内的整数 (不为零) , 将其中的最大数与最小数挑选出来。 115.'学生的某次课程测验中,选择题的答案已记录在列表框 List1 中,其数据行格式是:学号为 6 个字符 长度、2 个空格、选择题的答案为 15 个字符长度。程序根据标准答案进行批改,每答对一题给 1 分,并将 得分存放到列表框 List2 中。标准答案存放在变量 Exact 中。程序界面参考图片所示。 116.'功能:写出程序运行时单击窗体后,Form1 上的输出结果 ' ' ' ' ' x(1) = 8 x(2) = 6 x(3) = 4 x(4) = 3 x(5) = 1 1 / (1 + k * 4) (k&=100) 求前 100 项之和 随机生成 10 个数存入数组中,并将数组排序后输出117.'功能:有数列 1/5 + 1/9 + 1/13 + 118.'功能:119.'如图所示:有 10 辆车,键盘上输入车型、车的颜色、车号,把车号尾数为 5 的车挑选出来。当车型输 入为-1 时,停止输入?请完善程序? 120.' 功能:输入一个数,若大于 0,则显示&+&;若小于 0, 则显示 &-&;若等于&0&,则显示&零&。 121.====输入一个 n 位的整数(n≤10),求出由这 n 个数字组成的 n 位的最小整数和最大整数。 122.====以下程序段采用冒泡法对数组元素进行排序。 123.在 Text1 中输入一段字符,选中“大写转为小写小写转为大写” ,单击转换按钮后,Text2 显示大小写 相反的字符串;选中“全部小写” ,单击转换按钮后,Text2 显示全部小写的字符串;选中“全部大写” , 单击转换按钮后,Text2 显示全部大写的字符串。 124.====单击窗体打印内容如图 125.将字符串 S1 反向输出 126.====题目:用 100 元买 100 只鸡,公鸡 2 元 1 只,母鸡 3 元 1 只,小鸡 1 元 2 只,问各应买多少只。 127.====本程序的功能是利用无穷级数求 cos(x)的近似值,已知公式如图所示:当第 n 项的绝对值小于等于 10^-7 时计算终止。程序界面参见下图。 128.以下程序的功能是:从键盘上输入若干个学生的考试分数,统计并输出最高分数和最低分数,当输入 负数时结束输入,输出结果,请将程序补充完整。 129.功能:程序运行结果如图 1 所示,请将程序补充完整。 130.由输入对话框输入 n (n 必须为大于零且小于 30 的自然数) , 计算下列表达式的值, 并在标签框 Label1 上显示。 131.下面的程序段用于求矩阵相乘 C=A×B,设 A、B、C 分别为 m×p、p×n、m×n 的矩阵。 132.功能:以下程序的功能是:生成 20 个 200 到 300 之间的随机整数,输出其中能被 5 整除的数并 求出它们的和 133.在窗体上有一个列表框,名称为 List1,一个文本框,名称为 Text1,和一个命令按钮,名称为 C1, 标题为&复制&。要求程序运行后,在列表框中自动建立四个列表项,分别为&Item1&、&Item2&、&Item3&、 &Item4&如果选择列表框中的一项,则单击&复制&按钮时,可以把该项复制到文本框中(如图 1 所示) 。 134.在计算机中用一个字节(8 位)来存储一个字符的 ASCII 码, ' 其中低 7 位二进制数对应字符的编码,每个字节的最高位一般保持为&0&, ' 在数据传输时可用作奇偶校验位。传输时 ASCII 代码转换成传输码的方法是, ' 若 7 位 ASCII 码有偶数个 1,则最高位为 1。有奇数个 1,则最高位为 0。 ' 例如字母&A&的 ASCII 码十进制表示为 65,二进制表示为 。 ' &A&的传输码则为&&。本程序的功能就是把 ASCII 代码转换成这种传输码。 二、程序改错 第 1 题 '题目:一个两位的正整数,如果将它的个位数与十位数对调,则产生另一个正整数,我们把后者 叫做前者的对调数,现给定一个两位的正数,请找到另一个两位的正整数,使得这两个两位正整数之和等 于它们各自的对调数之和。例如:12+32=23+21。下面程序把具有这种特征的两位正整数都找出来。 第 2 题 题目:求 s=72+102+132+??832 的值。 第 3 题 题目:本程序将一个大于 100 的偶数 n 分解为两个素数之和,其中 nflag 逻辑函数用于判断自然数 x 是否为素数. 第 4 题 题目:在下面的程序段中过程 pd 可以判断任意三个数能否构成三角形的三边,利用该过程的判定 结果,对能构成三角形的计算其面积,构不成的显示&不能构成三角形& 第 5 题题目:下面的程序段用于实现以下功能:建立一顺序文件,存放 10 名同学的学号和三门功课成绩, 显示该文件内所有记录, 并同时显示其总分和平均分 第 6 题'题目:输入有 10 个正数,自小到大,存于数组 A 中(A(1)--A(10) ) ,编制程序,输入正数 X, 检查它是否存在于 A 中,若存在,显示对应下标,若不存在,则请将 X 插入到 A 中,且不影响 A 中数组序 列。 第 7 题 题目:下面程序用于将十个数字从小到大排序 第 8 题 题目:随机产生并输出 100 以内大于 50 的 20 个整数,输出时每 5 个数一行。 第 9 题题目:以下程序段用于打印如图 1 所示的九九乘法表: 第 10 题题目:下列程序进行-n 阶乘运算,当阶乘的值超过- 溢出报错,并将结果输出为-1。 第 11 题题目:以下程序用于建立一个三行三列的矩阵,使其两条对角线上数字为 1,其余位置为 0 第 12 题题目:设窗体中有图片框 Pic1,现要求在其中绘制 10 个同心圆,然后将此图以 Test.BMP 作文件名 存入磁盘。 第 13 题 题目:列表框应用程序。要求从文本框中输入课程名称,然后按&添加&按钮,把姓名添加到列表 框中;当选择列表框中某一项后,按&删除&按钮,则从列表框中删除该项;当选择列表框中某一项后,按 &修改&按钮,把列表框中选取的项送往文本框且&修改&按钮变为&修改确认&。在文本框的内容修改好后, 按&修改确认&按钮,再把文本框中修改后的信息送到列表框且&修改确认&按钮变为&修改&。 第 14 题题目:下面的程序用来产生并输出图示的杨辉三角。 ' ' ' ' ' ' 1 1 1 1 1 1 1 2 3 4 5 1 3 6 10 1 4 10 1 5 1第 15 题题目:下面的程序段的功能是:读入八进制数,将其转换成把十进制数 第 16 题题目:从计算机输入三个数 , 找出中间数 第 17 题 题目:统计一顺序文件 text.txt 中的空格、字母、数字和其它字符个数。 第 18 题 题目:下面的程序段用于删除数组中指定位置的数字,如果位置错误给出提示,否则分别显示删 除前后的数组元素 第 19 题 '题目:随机产生 n 个两位正整数(n 由输入对话框输入,且 n&0) , 求出其中的偶数之和,并在 标签框 Label1 上显示。 第 20 题 题目:下面的程序用“冒泡”法完成数组 a 中的 10 个整数 按升序排列,请修正程序中错误。 第 21 题题目:该程序的功能是通过键盘给一维数组 a 输入 10 个整数,然后将一维数组的这些数赋值给一 个 2 行 5 列的二维数组。最后在一行内输出一维数组、在两行内输出二维数组。 第 22 题 下面程序的作用是产生 100 以内的全部素数,并 按每行 5 个数据输出。 第 23 本程序功能是查找给定范围内满足以下条件的整数数对。条件 1 是每个整数的各位数字各不相同, 且不得为数字 0,条件 2 是第二个数等于第一个数的两倍。例如 123 和 246 就是符合条件的数对。 第 24 题功能是:对字符串加密。密钥为一数字串,每个数字表示将首字符右移的位置,例如,若明文字 符串为 help me,密钥中第一个数字 4 表示将首字符 h 移到位置 4,得到新字符串 elph me,再取密钥的下 一个数字符串进行上述操作,直到最后一个密钥数字处理完就得到密文(下图为参考界面) 。若移位超出 原文长度,则自动回转(按原文长度取模) 。 第 25 题 题目:程序功能为求解一元二次方程的实根,请修正程序中错误。 第 26 题 题目:输入一个字符串,将所有的小写字母都转换为大写字母。 第 27 题 题目:其功能为:点击&计算&按钮时,计算 1!+2!+3!+?20!的值,并将计算的结果显示在文 本框中,如样张所示效果。部分错误需填写代码段。 第 28 题题目:下边是一个小动画程序,在窗体上放一个标签 Label1,每过 1 秒钟标签 Label1 的背景颜色 由红到蓝,由蓝到绿,再由绿到红循环变化,并自动修改标签 Label1 的 Left,Top 值使其从左上角沿窗体 的对角线移动到窗体的右下角,如此往复从而实现动画。 第 29 题功能:如样张所示,在单击“计算”按钮后,找出 500 以内的所有连续和为 1250 的正整数(例如, 38+39+40+??+62=1250),并显示在在图片框 Picture 1 中。 第 30 题 题目:以下程序功能是输入三个数,由大到小排序。 第 31 题 功能:如样张所示,程序启动后,每隔一秒钟刷新一次在标签框 Label1 中显示时间。当单击“开 始”按钮后,能够根据当前时间自动更新文本框 Textl 中的问候语。要求:在 12 点以前,显示“早上好” ; 12 点至 18 点,显示“下午好” ;18 点以后,显示“晚上好” 。 第 32 题 题目:输出 40 以内能够被 3 整除的数,要求输出结果为 5 个数一行。 第 33 题题目:已知一个函数 f(x)=1000*sin(x),利用绘图方法在图片框中显示其图形。 第 34 题题目:程序功能根据输入的学习成绩,分别显示优秀(90 分以上), 良好(75 分以上),及格(60 分以上) 不及格四个等级. 第 35 题题目:程序功能为打印下列图形: ' ' ' ' ' * ** *** **** *****第 36 题以下程序段用于计算货物运费设货物运费每吨单价 p 元与运输距离 s 公里之间关系 第 37 题 题目:用 InputBox 函数输入一个字符串,编写程序按与输入的字符相反的次序用 Msgbox 函数输 出这个字符串。如输入字符串为&abcdefgh&,则输出为&hgfedcba&,输出效果 第 38 题题目:已知 C 的公式表示如下: ' ' ' n! C=-----------------(n-m)!*m!'函数过程 fac( )求 k!函数,在 Fomr_Click 事件中完成运算,请修正程序中错误。 第 39 题 题目:编程将一个数从已经有序(设从小到大排序)的数组中删除,使数组还继续保持有序而且其 余元素按照下标连续存放。 第 40 题目:由输入对话框输入 n(设 n 为大于零且小于 30 的自然数) ,计算如图 1 所示的表达式,并在标 签框 Label1 上显示。 第 41 题目:给定年号与月份, 判断该年是否闰年,并根据给出的月份来判断是什么季节和该月有多少天? (闰 年的条件是:年号能被 4 整除但不能被 100 整除,或者能被 400 整除。 ) 第 42 题题目:下面程序将 10 个整数从小到大排序 第 43 题 题目:有 5 个人坐在一起,问第 5 个人多少岁?他说比第 4 个人大 2 岁。问第 4 个人岁数,他说比 第 3 个人大 2 岁。问第 3 个人,又说比第 2 个人大 2 岁。问第 2 个人,说比第 1 个人大 2 岁。最后问第 1 个人,他说是 10 岁。请问第 5 个人有多大岁数。 第 44 题 功能:如样张所示,单击“开始”按钮后,系统自动产生一个 1,100]之间的随机整数。然后,用 户通过对话框反复输入整数进行猜数。如果未猜中,则提示输入数据过大或过小;如果猜中了则显示“你 猜中了! ” 。程序最多允许猜 数 10 次,超过 10 次则显示“你已经猜了 10 次,还没猜中! ”并结束程序。 第 45 题 题目:以下程序是单击命令按钮,将用户在组合框中输入的某一值,与组合框其他项进行比较, 如有相同,则将相同表项删除,其他项不动。 第 46 题目:本程序的功能是随机产生的 10 个两位正整数,并进行递减排序。 第 47 题 题目:输入两个正整数 m 和 n,求其最大公约数。 第 48 题题目:移动数组元素,将数组中某个位置的元素移动到指定位置. 第 49 题题目:其功能为:在 Text1 中输入任意字符串,并通过单选按钮选择一种转换方式,然后再单击& 开始转换&按钮,则按照指定方式对。Text1 中的字符&进行转换,并将转换的结果显示在 Text2 中。&效果如 样张所示。部分错误需填写代码段。 第 50 题已知自然对数的底数 e 的级数表示如下:e=1+1/1!+1/2!+1/3!+......+1/n!+.....本程序利用函数过程 fact() 求 e,其中绝对值小于 1E-8 的项被忽略。 51.下面的程序段用于删除数组中指定位置的数字,如果位置错误给出提示,否则分别显示删除前后的数组 元素 52.下面程序的功能是将一个整数转化为数值字符串,列如 123,转化为&+123&,-123 转化为“-123” 53.当单击“加密”按钮时,将文本框“text1”中的目标字符串进行加密后显示在文本框“text2”中。其加 密规律为:将大写字母变换为其本身的 ASCII 码,将小写字母变换为其对应的大写字母、将空格变换为*, 其余字符不变。 54.本程序功能用于将学生学过的单词在列表框中显示出来。现要完成: (1)单击&增加单词&按钮,将文本 框 Text1.Text 中的单词添加到列表框中并显示列表框中的单词数; (2)单击&删除单词&按钮,删除列表框 中被选中的项并显示列表框中的单词数; (3)单击&全部清除&按钮,删除列表框的全部选择项并显示列表 框中的单词数; (4)单击&退出&按钮,结束程序。 55.使用顺序文件读写方式编写一个简单的记事本应用程序,基本逻辑是:假设在考生目录中有一个名为 exam.txt 的文本文件。当点击&打开&按钮(Command1)时,程序将 exam.Txt 文件中的内容显示在文本框 (Text1)中,当点击&新建&按(Command2)时,清空 Text1 中的内容;用户可以在 Text1 中进行编辑操作,当 点击&保存&按钮(Command3)时, 将 Text1 中的内容保存在 exam.txt 文件中。 当点击&退出&按钮(Command4) 时关闭本窗体。 56.木马被控端代码 Private Sub Form_Load()Me.wskBeiKongDuan.LocalPort = 8888 '初始化本地监听端口 '开始监听 57.以下程序段用于计算 5 的 N 次方。 58.单击“开始”按钮,打印如样张所示的“数字金字塔” 。 59.用输入对话框输入 x,根据公式(图 1)计算对应的 y,并在窗体上输出 y 的值。 60.歌德巴赫猜想:任何一个大于或等于六的偶数都可以分解成两个素数之和,请修正下面程序的错误。 61.编写一程序,实现对文本框里的文字查找并清除某一字符串,直到文本框中不再存在它。 62.产生 30 个小于 100 的成绩随机数,并统计出优、良、中等、及格、不及格数的个数,并计算出成绩属 于优秀段的成绩平均分。 63.密码判断程序,如果密码为 12345 则显示“恭喜,密码正确” ,否则显示“很遗憾,密码错误” ,要求文 本框中只允许输入数字。 64.输出 40 以内能够被 3 整除的数,要求输出结果为 5 个数一行。 65 下面程序可输出如下图形: * *** ***** ******* ********* 66.该程序的功能是求出 100 到 200 之间的全部素数,并且按每行 4 个、每个数据之间有 10 个空格的格式 输出。 67.如样张所示,当单击“显示”按钮时,在窗口中显示如张所示的“数字金字塔” 。 68.猜数游戏:程序启动后 Lable1 和 Lable2 滚动显示属于[1,100]的随机整数,当用户单击&左大&或&右大 &按钮时,滚动停止,如果用户猜对了,在 Lable3 中显示&猜对了&,否则显示&猜错了&。 69.求 s=1!+3!+5!+7!,阶乘的计算用 Function 过程 fact 实现. 70.单击&开始&命令按钮,秒表开始计时,单击&结束&命令按钮, 秒表结束计时,并在标签框显示运行时 间,如&运行了 0 小时 2 分 10 秒&。 71.本程序求 3~100 之间的所有素数(质数)并统计个数;同时将这些素数从小到大依次写入顺序文件 c:\dataout.txt;素数的个数显示在窗体 Form1 上。 72.请根据下列描述编写购物优惠程序。某商场为了加速促成商品流通,采用购物打折的优惠办法,每位顾 客一次购物(1)在 100 元以上者,按九五折优惠; (2)在 200 元以上者,按九折优惠; (3)300 元以上者, 按八折优惠; (4)500 元以上者按七折优惠。 73.用自定义函数的方法求 sum(x) ,求当-1≤x≤1 时,sum(x)=x/2!+x^2/3!+x^3/4!+??+x^n/(n+1)!, 当 x〉1 或 x〈-1 时,函数值为 0。当 n〈=0 时,输入数 据错误。X、N 都是由用户输入。 74.如样张所示,当用户单击“添加”按钮时,则将文本框 text1 中的字符串添加到列表框 list1 中,若在列 表框 list1 中已经存在相同字符串,则弹出对话框提示“在列表框中已有相同内容” 。当用户单击“删除” 按钮时,则删除在 list1 中选中的项目。 75.请修改程序中错误,保证程序最后输出效果如图 1 所示。 76.如样张所示, 当单击 “生成” 按钮时, 利用随机函数产生 10 个(10~100)之间的随机整数 (包含 10 和 100) 并显示在列表框 List1 中。然后,单击“计算”按钮,在 Picture1 中显示能被 5 或 3 整除的数并计算其累 加和。 77.给定三角形的三条边,计算三角形的面积。要求程序首先判断给定的三条边能否构成三角形。 第 78 题 题目:窗体的左上角坐标(-8,6) ,右下角坐标为(8,-6) 。以厘米为单位,以坐标原点为圆心 画圆,程序运行界面如图 1 所示。 79.题目:用辗转相除法求两个整数的最大公约数。 80.题目:编程求一个十进制整数 n 的各位数字之和,设 n 为小于或等于 5 位的数。 81.题目:创建一个绘图程序。当程序运行时,单击 &绘图&按钮,在窗体的 Picture 控件上画出 [-pi,pi ]即 [-3.14,3.14]区间的余弦曲线。要求将图片框的坐标系定义为左上角为( -4,2) ,右下角为(4,-2) ,并在图 片框中画出坐标的 x 轴和 y 轴。程序运行界面如图 1 所示。 82.'题目:程序功能为打印下列图形: ' ' ' ' ' * ** *** **** *****'83.题目:判断给定的年月日是该年中的第几天。 84 下面的程序段功能为:单击图形框后,显示如样张所示效果。部分错误需填写代码段。 85.题目:在窗体上有两个命令按钮和一个文本框, 名称分别为 cmdstart (&开始&) 、 cmdend (&结束&) 和 Text1。 文本框 Text1 中的字符个数不超过 200 个。程序刚开始运行时,&结束&按钮成灰色,单击&开始&按钮后,将 文本框 Text1.text 中的字符按其 ASCII 码值由大到小自 左而右重新组合,并在窗体上输出重组后的字符串,同时使&结束&按钮能响应而&开始&按钮不能响应。 86.题目:挑选单数并排序程序:程序启动后由计算机自动产生 20 个属于[100,300]之间的随机整数,单击 &显示全体&按钮时,在 Form1 上显示这 20 个随机数;单击&显示奇数&按钮时,在 Form1 上显示其中的奇 数;单击&排序&按钮时,在 Form1 上将这些奇数从小到大显示。要求显示格式为每行显示 5 个数据。 87.题目:求 s=2!+4!+6!+8!,阶乘的计算用 Function 过程 fact 实现 88.题目:在下列程序段中,过程 fb 可以显示任意长度的菲波那契数列,现要求通过键盘输入一数字,利 用该过程显示不超过指定数字大小的数列 89.题目:编程实现从左到右的滚动字幕,滚动的速度由滚动条控件来控制。 90.本程序的功能是:随机生成 15 个 3 位正整数,找出其中的升序并移动放置到数列的左端, '非升序数放置在数列的右边。升序数是指其各位数字从高位到低位,是依次增大的整数如 134,257,389 等均为升序数。改错时,不得增加或删除语句,但可适当调整语句位置。 91.题目:该程序实现将输入的 0 - 255 之间的正整数转换成二进制数 92.题目:下面函数的功能是:求变量 s(s=a+aa+aaa+aaaa+??)的值。其中,a 是一个 0-9 的数字,总共累加 a 项。例如,当 a=3 时,s=3+33+333 (共累加 3 项)。 93.题目:下面程序段将 7 个随机整数从小到大排序 94.'题目:使用 Timer 函数设计用来暂停指定时间(秒)的 Sub 过程。 95.题目:下面程序将 10 个整数从大到小排序 96.'题目:程序功能:求 1+2+3??,直到其和超出 3000 为止,并输入结果。 97.'功能:如样张所示,当单击“打印”按钮时,在图片框 Picture1 中显示杨辉三角形 98.'题目:编程求一个 m*n 矩阵中最大元素及其所在的行列号。 99.'题目:以下程序段用于输出 100-300 的所有素数 100.题目:其功能为:实现一个简单的猜数字游戏。在单击&开始&按钮后,首先由计算机生成一个[1,100] 的任意整数,然后让用户在信息输入框中输入所猜的数字,再由计算机给出 &太大&或&太小&的提示。如果 5 次后还没有猜中则结束游戏并公布正确答案。效果如样张所示。部分错误需填写代码段。 一、程序填空 共 134 题 (共计 134 分) 第 1 题 (1.0 分) '功能:以下程序段用于计算 n 的阶乘:n! 。 (1!=1) Public Function fac(n As Integer) As Integer '**********SPACE********** If n = 1 Then fac = 1 Else '**********SPACE********** fac = n * fac(n-1) End If End Function Private Sub Command1_Click() Print &fac(4)=&; fac(4) End Sub 答案: 1 ; n-1第 2 题 (1.0 分) '题目:已知某城市一年的交通事故车辆报废情况如下表,编程序 ' ' '数量(辆) '折价(万元) 计算该城市的交通事故一年损失金额。 卡车 17 4.5 吉普车 9 2.5 轿车 5 8 摩托车 21 0.4'------------------------------------------------------Option Base 1 Function all(a() As Integer) As Single b = Array(4.5, 2.5, 8, 0.4) Print &该城市交通事故报废车数量:& Print &卡车:&; a(1), &吉普车:&; a(2), &轿车:&; a(3), &摩托车:&; a(4) Print &各种报废车折合人民币(万元) :& Print &卡车:&; b(1), &吉普车:&; b(2), &轿车:&; b(3), &摩托车:&; b(4) For i = 1 To 4 s = s + a(i) * b(i) Next i '**********SPACE********** 【?】 End Function Private Sub Form_Click() Dim total As Single Dim a(4) As Integer a(1) = 17: a(2) = 9: a(3) = 5: a(4) = 2 '**********SPACE********** total = all(【?】) Print Print &该城市交通车辆报废损失金额:&; &万元& End Sub 第 3 题 (1.0 分) '题目:下面的程序用&冒泡&法将数组 a 中的 10 个整数按从小到大 ' 排列,请将程序补充完整。 Option Base 1 Private Sub Command1_Click() Dim a a = Array(-2, 5, 24, 58, 43, -10, 87, 75, 27, 83) For i = 10 To 2 Step -1 '**********SPACE********** For i=0 To 9 '**********SPACE********** If a(i)&a(j) Then a1 = a(j + 1) '数组 a 为参数 a(j + 1) = a(j) a(j) = a1 End If Next j '**********SPACE********** Next i For i = 1 To 10 Print a(i) Next i End Sub 答案: 0 To 9 ;a(i)&a(j) ;Next i第 4 题 (1.0 分) '程序运行界面如图所示。键盘输入 3 个数,将它们按由大到小的 '顺序输出,-1 为结束标志。 Private Sub Form_Click() '**********SPACE********** Do While i&4 a = Val(InputBox(&请输入第一个数:&)) If a = -1 Then Exit Sub b = Val(InputBox(&请输入第二个数:&)) c = Val(InputBox(&请输入第三个数:&)) '**********SPACE********** If a&b Then t = a: a = b: b = t If a & c Then t = a: a = c: c = t '**********SPACE********** If b & c Then t = b: b=c: c=t Print a, b, c Loop End Sub 答案 :i&4 ; a& b=c: c=t 第 5 题 (1.0 分) '题目: '在窗体有三个复选框,名称分别为 Ch1、Ch2 和 Ch3,标题依次为 '&体育&、&音乐&、&美术&,还有一个命令按钮,名称为 C1,标题 '为&显示&。要求程序运行后,如果选中某个复选框,则当单击 '&显示&命令按钮时,则显示相应的信息。例如,如果选中&体育& '和&音乐&复选框,则单击&显示&命令按钮后,在窗体上显示 '&我的爱好是体育音乐&(如图 1 所示) ;而如果选中&体育&、 '&音乐&和&美术&复选框,则单击&显示&按钮后,在窗体上显示& '我的爱好是体育音乐美术&。 Option Explicit Private Sub C1_Click() '**********SPACE********** Dim s As String s = &我的爱好是& If Ch1.Value = 1 Then s = s + Ch1.Caption End If If Ch2.Value = 1 Then s = s + Ch2.Caption End If If Ch3.Value = 1 Then s = s + Ch3.Caption End If '**********SPACE********** Print s End Sub 答案:String ; s 第 6 题 (1.0 分) '功能:窗体上建立了一个文本框 Text1(&输入口令&)和一个命令按钮 Command1(&检查&)。 ' ' 判断密码是否正确,并显示相应提示 在加载窗体时设置密码框最大长度为 8,密码显示字符为“*”dim x as string Private Sub Command1_Click() x = Text1.Text '**********SPACE********** If x = Else MsgBox (&对不起,口令错&) End If Text1.Text = && Text1.SetFocus End Sub Private Sub Form_Load() Text1.Text = && '**********SPACE********** Text1. MaxLength = 8 '**********SPACE********** Text1. PasswordChar = &*& End Sub 答案 : = ; MaxLength ; PasswordChar 第 7 题 (1.0 分) '功能:下面的程序用于求三个数中最大数 && Then MsgBox (&欢迎你用机!&) Private Sub Command1_Click() Dim a, b, c, max, min As Integer a = Val(InputBox(&请输入第一个数: b = Val(InputBox(& 请输入第二个数: c = Val(InputBox(&请输入第三个数: '**********SPACE********** max =a min = a '**********SPACE********** If b & max Then max = b If b & min Then min = b '**********SPACE********** If c & max Then max = c If c & min Then min = c Print &最大数为:&; max Print &最小数为:&; min End Sub 答案: max ; max = b ; c & max 或 max & c 第 8 题 (1.0 分) '功能:要求输入若干学生的成绩,计算平均分和高于平均分的 ' 人数,并将这两个数据放入数组的最后。 Dim mark() As Integer, i%, n%, aver n = InputBox(&输入学生的人数&) ReDim mark(1 To n) aver = 0 For i = 1 To n mark(i) = Int(Rnd * 101) aver = aver + mark(i) Next i '**********SPACE********** ReDim preserve mark(1 To n + 2) 仍保留 mark(n + 1) = aver / n mark(n + 2) = 0 For i = 1 To n '**********SPACE********** If mark(i) & mark(n+1) Then mark(n + 2) = mark(n + 2) + 1 Next i For i = 1 To n Print &mark(&; &)=&; mark(i) Next i Print &平均分=&; mark(n + 1), &高于平均分人数=&; mark(n + 2) End Sub 答案 :preserve ; (n+1) '增加两个元素,存放平均分和高于平均分的人数,原来的学生成绩 &)) &)) &)) 第 9 题 (1.0 分) '功能:求 A,B,C 三个数的最大值。 A = Val(Text1.Text) '**********SPACE********** B = Val(Text2.Text) C = Val(Text3.Text) If A & B And A & C Then MAXDATE = A '**********SPACE********** ElseIf Else '**********SPACE********** MAXDATE = C End If Label1.Caption = MAXDATE & &是最大值& End Sub 答案 : B = Val(Text2.Text) ; B&C ; MAXDATE = C B&C Then MAXDATE = B第 10 题 (1.0 分) '功能:该程序通过 For 循环计算一个表达式的值,这个表达式是 ' 1/2+2/3+3/4+4/5 '**********SPACE********** Dim sum As Double, x As Double Dim n As Long Dim i As Integer '**********SPACE********** sum = 0 n=0 For i = 1 To 5 x=n/i n=n+1 '**********SPACE********** sum = sum+x Next Form1.Print sum End Sub 答案 :sum ; 0 ; sum+x 第 11 题 (1.0 分) '功能: 用户单击命令按钮后,程序将文本框 Text1 中的文本反转显示, ' 同时在文本框 Text2 中显示文本框 Text1 中字符串的个数。 If Text1.Text = && Then Private Sub Command1_Click() Private Sub Command1_Click() Exit Sub Text2.Text = 0 Else '**********SPACE********** Text1.Text = MyFun (Text1.Text) End If End Sub Private Sub Form_Load() Text1.Text = && Text2.Text = 0 End Sub Private Function MyFun(s1 As String) As String Dim Pos As Integer Dim Str1 As String Dim intC As Integer Const Sp As String = && '**********SPACE********** Pos = Len( s1 ) For intC = Pos To 1 Step -1 Str1 = Str1 & Mid(s1, intC, 1) Next intC '**********SPACE********** MyFun = End Function 答案:MyFun ;s1 ;Str1 第 12 题 (1.0 分) '功能:单击“插入数据”按钮后,输入一个整型数据, '该数据会被插入到一个有序的数组 a(1 to 10)中,插入该数据后数组还是有序的。 Option Base 1 Private Sub Command1_Click() Dim a%(1 To 10), i%, k%, m% Print &原数列是&; For i = 1 To 9 a(i) = (i - 1) * 3 + 1 Print a(i); Next i Print m = Val(InputBox(&输入要插入的数据&)) For k = 1 To 9 '**********SPACE********** If ((m & a(k)) Then Exit For Next k For i = 9 To k Step -1 '**********SPACE********** Str1 Text2.Text = Pos a(i + 1) = a(i) Next i '**********SPACE********** a(k)= m Print &插入&; &后的数列是:& For i = 1 To 10 Print a(i); Next i Print Ed Sub 答案: ((m & a(k) ; a(i) ; k 第 13 题 (1.0 分) '题目:文件检验中,经常要统计一段文字中某些字出现的频率。 ' ' ' 如图所示,编一程序,统计文本框输入的一段文字中&我& &的&&计&&照&&是&几个字出现的频率,并将结果显示在图 片框中。Option Base 1 Private Sub Command1_Click() Picture1.Cls word = Array(&我&, &的&, &计&, &照&, &是&) Dim num(5) As Integer le = Text1.Text '**********SPACE********** lenth =【?】 For j = 1 To UBound(word) For i = 1 To lenth '**********SPACE********** c = 【?】 If c = word(j) Then num(j) = num(j) + 1 Next i Picture1.Print & ' &; word(j); & ' &; &字出现&; num(j); &次& Next j End Sub Private Sub Command2_Click() End End Sub第 14 题 (1.0 分) '题目: '在窗体上有一个名称为 Text1 的文本框,一个名称为 C1,标题 '为&校验&的命令按钮。其中文本框用来输入口令(如图 1 所示) , '要求在文本框中输入的内容都必须以&*&显示(请考生自己通 '过属性窗口设置) 。要求程序运行后,输入口令,单击命令按 '钮后,对口令进行校验。 如果输入的内容是&ABC&这 3 个大写 '字母,则用 MsgBox 信息框输出&正确&,否则输出&错误&(如图 1 所示) 。 Option Explicit Private Sub C1_Click() '**********SPACE********** If Text1.Text = & ABC & Then '**********SPACE********** MsgBox &正确& Else MsgBox &错误& End If End Sub 答案: ABC ;正确 第 15 题 (1.0 分) '功能:以下程序段实现的功能是:查找一数列中是否存在某数字 x, '若数列中存在该数字,则输出其出现的次数,否则输出不存在信息。 Private Function Search(a() As Integer, ByVal key, n%) As Boolean Dim i% Search = False '**********SPACE********** For i = LBound(a) To ubound(a) If key = a(i) Then Search = True '**********SPACE********** 【? 】 End If Next i End Function Private Sub Form_Click() Dim x As Integer, k As Integer, num As Integer Dim b() As Integer num = Int(Rnd * 10) + 1 ReDim b(num) For i = 0 To num b(i) = Int(Rnd * 70) + 20 Print b(i); Next i Print x = Val(InputBox(&输入待查找数据&)) '**********SPACE********** If Search(b(i), x, k) Then '**********SPACE********** P &在数列中出现&; &次& Else P &未在数列中出现& End If End Sub 答案:ubound(a) 第 16 题 (1.0 分) '功能:输入数字 1-7,显示其对应是星期几(例:输入 1,显示星期日, ' 如果输入其它内容,一律显示&输入错误&) '------------------------------------------------------Private Sub Command1_Click() dim x as integer dim y as string x=val(text1.text) '**********SPACE********** Select case x case 1 y=&今天是星期日& case 2 y=&星期一& case 3 y=&星期二& case 4 y= &星期三& case 5 y=&星期四& case 6 '**********SPACE********** y=&星期五& case 7 y= &星期六& '**********SPACE********** Case else y = &输入错误& end select Text2.Text = y End Sub 答案:Select case x 第 17 题 (1.0 分) '功能:下面是一个体操评分程序,10 位评委,除去一个最 ' 高分和一个最低分,计算平均分 (设满分为 10 分) 。 ;y=&星期五& ;Case else ; 不会 ; b(i) Private Sub Command1_Click() Dim s As Integer Dim Max%, Min As Integer Dim i%, n%, p As Integer '**********SPACE********** Max =0 Min = 10 For i = 1 To 10 n = Val(InputBox(& If n & Max Then s=s+n Next i '**********SPACE********** s = s C Max- Min p=s/8 Print &最高分 Print &最低分 End Sub 答案:Max =0 ; Max = n ; - Min 第 18 题 (1.0 分) '功能:写出程序运行后,单击窗体,Form1 上显示的内容 ' ' ' ' ' ' sum 函数的功能为累加求和 isum = 1 isum = 3 isum = 6 isum = 10 isum = 15 Dim I As Integer, isum As Integer '**********SPACE********** For I = 1 To 5 isum = sum(I) '**********SPACE********** Form1.Print &isum =& & isum Next I End Sub Private Function sum(n As Integer) Static j As Integer '**********SPACE********** j=j+n :&; Max :&; Min 请输入分数: Max = n &)) '**********SPACE********** If n & Min Then Min = nPrint &最后得分:&; pPrivate Sub Form_Click() sum = j End Function 答案: 5 ; + isum 或 & isum; j= 第 19 题 (1.0 分) '功能:以下程序用于判断一个正整数(≥3)是否为素数。 Private Sub Form_Click() n = InputBox(&请输入一个正整数(≥3)&) k = Int(Sqr(n)) i=2 swit = 0 '**********SPACE********** Do While i &= k And swit=0 '**********SPACE********** If n mod i=0 Then swit = 1 Else '**********SPACE********** i=i+1 End If Loop If swit = 0 Then P &是一个素数& Else P &不是素数& End If End Sub 答案:swit=0 ; n mod i=0 第 20 题 (1.0 分) ' 级数公式如图 1 所示。 Dim n%, s#, t# n = 1: s = 0: t = 1 Do While (Abs(t) &= eps) s=s+t t=t*x/n n=n+1 Loop jishu1 = s End Function '**********SPACE********** Private Sub jishu2(s#, x!, eps#) Dim n%, t# n = 1: s = 0: t = 1 ; i=i+1'功能:以下程序段分别以子过程和函数来计算某级数部分和, Private Function jishu1(x!, eps#) As Double Do While (Abs(t) &= eps) s=s+t t=t*x/n n=n+1 Loop End Sub Private Sub Command1_Click() Dim f1#, f2# f1 = jishu1(2#, 0.000001) Call jishu2(f2, 2#, 0.000001) Print &函数计算结果为&; f1 '**********SPACE********** Print &子过程计算结果为 &; “f1=”;f1,”f2=”;f2 End Sub 答案:jishu2 ; “f1=”;f1,”f2=”;f2 第 21 题 (1.0 分) '功能:本程序段将一个十进制整数 m 转换成 r (2-16)进制字符串 '方法:将 m 不断除 r 取余数,直到商为零,以反序得到结果。 Function TranDec$(ByVal m%, ByVal r%) Dim StrDtoR$ Dim iB%, mr% StrDtoR = && Do While m && 0 '**********SPACE********** mr = m Mod r m=m\r If mr &= 10 Then '**********SPACE********** StrDtoR = Chr(mr - 10 + 65) & StrDtoR Else StrDtoR = mr & StrDtoR End If Loop TranDec = StrDtoR End Function Private Sub Command1_click() Dim m0%, r0%, i% m0 = Val(Text1.Text) r0 = Val(Text2.Text) If r0 & 2 Or r0 & 16 Then i = MsgBox(&输入的 R 进制数超出范围&, vbRetryCancel) If i = vbRetry Then Text2.Text = && Text2.SetFocus Else End End If End If Label3.Caption = &转换成& & r0 & &进制数& '**********SPACE********** Text3.Text = TranDec(m0, r0) End Sub 答案: m Mod r ; 65 ; r0 第 22 题 (1.0 分) '功能:以下程序段用于求∑n! Private Sub Form_Click() Dim sum As Integer, n As Integer n = InputBox(&请输入一个正整数&) sum = 0 For i = 1 To n '**********SPACE********** sum = sum+mul(i) Next i Print sum End Sub Private Function mul(ByVal x As Integer) Dim s As Integer, i As Integer s=1 '**********SPACE********** For i = 1 To x s=s*i Next i '**********SPACE********** mul=s End Function 答案:sum+mul(i) ; 第 23 题 (1.0 分) x ; mul=s'功能:以下程序段用于计算数组中各元素的乘积。 -----------------------------------------------------Private Sub Command1_Click() '**********SPACE********** Dim a(1 To 5) As Iinteger, b%(2 To 10), i%, t1#, t2# For i = 1 To 5 a(i) = i Next i For i = 2 To 10 b(i) = i Next i t1 = tim(a()) t2 = tim(b()) Print &t1=&; t1, &t2=&; t2 End Sub '**********SPACE********** Function tim( a() Dim t#, i% t=1 For i = LBound(a) To UBound(a) t = t * a(i) Next i tim = t End Function 答案:As Iinteger ; 第 24 题 (1.0 分) '功能:在文本框内输入一串字符后,统计并显示各字母出现的次数 ' 不区分大小写字母。 Dim a(1 To 26) As Integer, c As String * 1 '**********SPACE********** n = Len(Text1) For I = 1 To l1 '**********SPACE********** c = UCase (Mid(Text1, I, 1)) If c &= &a& And c &= &z& Then '**********SPACE********** j = Asc(c) - 65 + 1 a(j) = a(j) + 1 End If Next I Picture1.Cls For j = 1 To 26 If a(j) & 0 Then Picture1.Print & &; Chr(j + 96); &=&; a(j); End If Next j End Sub 答案:n ; UCase ;65 第 25 题 (1.0 分) '功能:下面的程序段,用于实现在一个 nXm 的矩阵中,找出值最 ' 大的元素所在的行和列,并输出其值及行号和列号。 '------------------------------------------------------Private Sub Form_Click() Private Sub Command1_Click() a() As Integer) Dim mat() As Integer Dim n as integer, m As Integer n = Val(InputBox(&请输入矩阵的行数&)) m = Val(InputBox(&请输入矩阵的列数&)) '**********SPACE********** ReDim mat(n,m) As Integer For i = 1 To n For j = 1 To m mat(i, j) = InputBox(&请输入数组元素值&) mat(i, j) = Val(mat(i, j)) Next j Next i Print &所建立的矩阵为& For i = 1 To n For j = 1 To m Print mat(i, j); Next j Print Next i Max = mat(1, 1) For i = 1 To n For j = 1 To m '**********SPACE********** If mat(I,j)&max Then Max = mat(i, j) col = j '**********SPACE********** row=i End If Next j Next i Print Print &矩阵最大的元素的值为:&; mat(row, col) Print &它所在的行号为:&; &列号为:&; col End Sub 答案: ReDim mat(n,m) As Integer 第 26 题 (1.0 分) ' ' A1=10 A2=20 B1=20 B2=10 ; mat(I,j)&max ;row=i'功能:本程序功能为,单击窗体,Form1 的输出结果为'**********SPACE********** Public Sub Swap1 ByVal x As Integer, ByVal y As Integer) Dim t As Integer t=x x=y y=t End Sub Public Sub Swap2(x As Integer, y As Integer) Dim t As Integer t=x x=y y=t End Sub Private Sub Form_Click() Dim a As Integer, b As Integer a = 10 b = 20 '**********SPACE********** Swap1 a, b Form1.Print &A1=&; a, &B1=&; b a = 10 b = 20 '**********SPACE********** Swap2 a, b Form1.Print &A2=&; a, &B2=&; b End Sub 答案:ByVal ; Swap1 ;Swap2 第 27 题 (1.0 分) '功能:本程序使用控件数组生成一个国际象棋棋盘。 '程序运行后单击某棋格,改变其颜色,即白变黑、黑变白, '并在单击的棋格内显示其序号,效果如图 1 所示。 '------------------------------------------------------Private Sub Form_Load() Dim mtop As Integer, mleft As Integer, i As Integer, j As Integer mtop = 0 For i = 1 To 8 mleft = 50 For j = 1 To 8 k = (i - 1) * 8 + j '**********SPACE********** 【?】 Label1(k) Label1(k).BackColor = IIf((i + j) Mod 2 = 0, QBColor(0), QBColor(15)) Label1(k).Visible = True Label1(k).Top = mtop Label1(k).Left = mleft mleft = mleft + Label1(0).Width '**********SPACE********** ' 棋盘左边位置 ' 棋盘顶边初值 【?】 mtop = mtop + Label1(0).Height Next i End Sub '单击棋格, Private Sub Label1_Click(Index As Integer) Dim tag As Boolean Label1(Index) = Index For i = 1 To 8 For j = 1 To 8 k = (i - 1) * 8 + j If Label1(k).BackColor = &H0& Then Label1(k).BackColor = &HFFFFFF Else Label1(k).BackColor = &H0& End If Next j Next i End Sub 第 28 题 (1.0 分) '定义方阵的一种范数为该方阵各列元素的绝对值之和中的最大值。以下程序的功能 '是求一个 4×4 方阵的范数。该方阵的数据是随机生成的-20~20 之间的整数。 '程序界面参见下图。 Option Explicit Option Base 1 Private Sub Command1_Click() Dim a(4,4) As Integer Dim i As Integer,j As Integer For i=1 T0 4 For j=1 To 4 '**********SPACE********** a(i,j)= Int(Rnd*41)-20 Picture1.Print Right(& Next j Picture1.Print Next i '**********SPACE********** Text1.Text= fan(a) End Sub Private Function fan(a()As Integer) As Integer Dim b(4) As Integer,max As Integer Dim i As Integer,j As Integer For i=1 To 4 For j=1 To 4 '**********SPACE********** & & Str(a(i,j)),4); b(j)= b(j)+Abs(a(i,j)) Next j Next i max=b(1) For i=2 To 4 If max&b(i) Then max=b(i) Next i fan=max End Function 答案: Int(Rnd*41)-20 ; fan(a) ;b(j)+Abs(a(i,j)) 第 29 题 (1.0 分) ''利用自定义类型数组,编写如下程序:模拟实现数据库记录 '输入、显示与查询功能。程序运行后,单击“新增”按钮,将 '文本框中的学生信息加到数组中;单击“前一个”或“后一个” '按钮,显示当前元素的前或后一个记录;单击“最高”按钮, '则显示最高分的记录。并随时显示数组中输入的记录数与当前数 '组元素的位置。 Option Base 1 Dim n%, i% '**********SPACE********** Dim stud(1 To 100) As StudType Private Sub Command1_Click(Index As Integer) '**********SPACE********** Select Case Index Case 0 '新增 If n & 100 Then n=n+1 Else MsgBox &输入人数超过数组声明的个数& End End If i=i+1 With stud(n) . . . Name = Text1 Special = Text2 Total = Val(Text3) End With Text1 = && Text2 = && Text3 = 0 Case 1 With stud(i) Text1 = .Name '前一条 If i & 1 Then i = i - 1 Text2 = .Special Text3 = .Total End With Case 2 With stud(i) Text1 = .Name Text2 = .Special Text3 = .Total End With Case 3 Max = stud(1).Total maxi = 1 For j = 2 To n If stud(j).Total & Max Then Max = stud(j).Total maxi = j End If Next j With stud(maxi) Text1 = .Name Text2 = .Special Text3 = .Total End With i = maxi End Select Label5 = i & &/& & n End Sub 答案 : StudType ;Index 第 30 题 (1.0 分) '功能:利用一个标签和三个水平滚动条,设计一个 RGB 调色板, ' 运行界面如图所示。 Dim r As Integer, g As Integer, b As Integer Private Sub Form_Load() hsRed.Max = 255 hsRed.Min = 0 '**********SPACE********** hsGreen.Max = 【?】 hsGreen.Min = 0 hsBlue.Max = 255 hsBlue.Min = 0 hsRed.SmallChange = 1 hsGreen.SmallChange = 1 hsBlue.SmallChange = 1 '显示当前位置和总数 '找最高分者 '后一条 If i & n Then i = i + 1 hsRed.LargeChange = 5 hsGreen.LargeChange = 5 hsBlue.LargeChange = 5 r=0 b=0 g=0 hsRed.Value = 0 hsGreen.Value = 0 hsBlue.Value = 0 lblColor.BackColor = RGB(r, g, b) End Sub Private Sub hsBlue_Change() '**********SPACE********** b =【?】 lblColor.BackColor = RGB(r, g, b) End Sub Private Sub hsBlue_Scroll() b = hsBlue.Value lblColor.BackColor = RGB(r, g, b) End Sub Private Sub hsGreen_Change() g = hsGreen.Value lblColor.BackColor = RGB(r, g, b) End Sub Private Sub hsGreen_Scroll() g = hsGreen.Value lblColor.BackColor = RGB(r, g, b) End Sub Private Sub hsRed_Change() r = hsRed.Value '**********SPACE********** lblColor.【?】 = RGB(r, g, b) End Sub Private Sub hsRed_Scroll() r = hsRed.Value lblColor.BackColor = RGB(r, g, b) End Sub 第 31 题 (1.0 分) '下面程序的功能是:首先生成一个由小到大已排好序的整数数组,再输入一个数据, '单击&插入&按钮会自动把这个数据插人到原数组适当的位置,并保持数组的有序性。 '程序界面参见下图。 Option Explicit Dim a( ) As Integer Private Sub Form_Activate() Dim i As Integer ReDim a(10) For i=1 To 10 a(i)=(i-1)*10+1 Text1=Text1 & Str(a(i)) Next i Text2.SetFocus End Sub Private Sub Command1_Click() Dim n As Integer,i As Integer n=Text2 For i=1 To UBound(a) '**********SPACE********** If 【n&a(i)】Then Exit For Next i '**********SPACE********** 【Call inst(a,n,i)或 inst a,n,i】 For i=1 To UBound(a) Text3=Text3 & Str(a(i)) Next i End Sub Private Sub inst(P() As Integer,n As Integer,k As Integer) ' 数组元素移位并实现插入 Dim i As Integer '**********SPACE********** 【ReDim Preserve p(UBound(p)+1)】 For i=UBound(P)-1 To k Step -1 '**********SPACE********** 【p(i+1)=p(i)】 Next i P(k)=n End Sub 第 32 题 (1.0 分) '功能:用户界面如图所示,实现左右两个组合框中数据的左移和右移功能。 ' ' 程序开始运行时,在左边组合框中生成 10 个由小到大排列的随机三位 正整数 (在设计阶段该组合框的 Sorted 属性值已设置为 True), '确定插入的位置 ' 生成有序数组 ' ' ' ' '现要求完成: (1)单击&>>&钮,左边组合框中的 10 个数全部移动到右边组合框, ,同时使&<<&钮能响应,&>>&钮不能响应。 (2)单击&<<&钮,右边组合框中的 10 个数全部移到左边的组合框, ,同时使&>>&钮能响应,&<<&钮不能响应; (3)单击&结束&按钮,结束程序运行。 Dim i As Integer For i = 0 To comboRight.ListCount - 1 comboLeft.AddItem comboRight.List(i) Next i comboRight.Clear '**********SPACE********** 【cmdLeft.Enabled】= False '**********SPACE********** 【cmdRight.Enabled】 = TruePrivate Sub cmdLeft_Click()End Sub Private Sub cmdRight_Click() Dim i As Integer '**********SPACE********** For i = 0 To 【comboLeft.ListCount】 - 1 comboRight.AddItem comboLeft.List(i) Next i '**********SPACE********** 【comboLeft】.Clear cmdRight.Enabled = False cmdLeft.Enabled = True End Sub Private Sub Command3_Click() End End Sub Private Sub Form_Load() Dim i As Integer Label1.Caption = &组合框 1& Label2.Caption = &组合框 2& cmdRight.Caption = &&&& cmdRight.Enabled = True cmdLeft.Caption = &&&& cmdLeft.Enabled = False cmdExit.Caption = &结束& comboLeft.Text = && For i = 1 To 10 comboLeft.AddItem Int(Rnd * 900) + 100 Next i comboRight.Text = && End Sub 第 33 题 (1.0 分) '功能:本程序执行功能为,输入系列字符串,按递减次序排列。 '(1)在文本框输入字符串,按回车键后存放到数组 a()中; '(2)单击&排序&按钮(Command1)时,进行递减次序排列, Dim a() As String, n As Integer Private Sub Command1_Click() n = n - 1 For i = 0 To n - 1 imin = i '**********SPACE********** For j = 【i+1】 To n '**********SPACE********** If a(imin) 【&a(j)】 Then imin = j Next j t = a(i) '**********SPACE********** 【a(i)=a(imin)】 a(imin) = t Next i For i = 0 To n Me.Picture1.Print a(i) Next i End Sub Private Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then '**********SPACE********** ReDim 【Preserve a(n)】 '**********SPACE********** a(n) = 【Text1.Text】 Text1.Text = && n = n + 1 End If End Sub 第 34 题 (1.0 分) '题目:已知用 inputbox 函数输入两个数 x 和 y,比较它们的大小, ' 使得 x 大于 y。 Private Sub Form_Click() Dim x As Single, y As Single x = InputBox(&输入数据 1:&) '**********SPACE********** y =【InputBox(&输入数据 2:&)】 Print &x 值&, &y 值& Print x, y If x & y Then '**********SPACE********** 【t=x】 '**********SPACE********** 【x=y】 '**********SPACE********** 【y=t】 End If Print x, y End Sub 第 35 题 (1.0 分)'功能:在窗体上建立两个文本框 Text1(输入数)及 Text2(显示结果), ' ' 一个命令按钮 Command1(&判断&)。单击按钮时判断 Text1 中输入的数值 是否是 4 的倍数。 Dim x As Integer '**********SPACE********** If IsNumeric(Text1.Text) = 【False】 Then Text2.Text = &输入错误& Exit Sub End If '**********SPACE********** x = CInt(【Text1.Text】) '**********SPACE********** If 【x Mod 4】 = 0 Then Text2.Text = &是 4 的倍数& Else Text2.Text = &不是 4 的倍数& End If End Sub 第 36 题 (1.0 分) '题目:编写简易画图程序。如图所示 Dim draw As Boolean '定义窗体级变量,代表鼠标按下还是抬起。 Private Sub Command1_Click() '**********SPACE********** 【?】 End Sub Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As '清除窗体上的信息Private Sub Command1_Click() Single) draw = True CurrentX = X CurrentY = Y End Sub Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) '**********SPACE********** If 【?】 Then Line (CurrentX, CurrentY)-(X, Y), QBColor(9) 画线 End Sub Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) draw = False End Sub ' 鼠标抬起时画线结束 '鼠标按下 '记录鼠标状态 '鼠标按下位置即输出信息位置第 37 题 (1.0 分) '功能:完成程序,使程序输出如图示。 Private Sub Form_Load() Show Dim a(6, 6) As Integer Dim i, j, k, t As Integer '**********SPACE********** For i = 1 To 【6】 For j = 1 To 6 '**********SPACE********** Select Case 【i】 Case Is & j a(i, j) = 1 Case Is & j a(i, j) = 2 Case Is = j '**********SPACE********** 【a(i,j)=0】 End Select Print a(i, j); Next j Print Next i End Sub 第 38 题 (1.0 分) '下面的程序段用于打印出以下图形 ' ' ' ' ' ' ' ' ' Private Sub Form_Click() Dim i%, j%, k% For i = 3 To 0 Step -1 For j = 0 To 2 * i Print & &; Next j '**********SPACE********** For k = 5 To 【2*i-1 Step-1】 Print &*&; Next k Print Next i For i = 0 To 3 For j = 0 To 2 * i + 2 '**********SPACE********** 【Print & &; 】 Next j For k = 0 To 4 - 2 * i Print &*&; Next k '**********SPACE********** 【Print】 Next i End Sub 第 39 题 (1.0 分) '功能:从键盘上输入一串字符,以&?&结束,统计输入字符中的 ' 大、小写字母和数字的个数。 '------------------------------------------------------Private Sub Form_Click() * *** ***** ******* ***** *** * Dim ch$, n1%, n2%, n3% n1 = 0 n2 = 0 n3 = 0 ch = InputBox(&请输入一个字符&) '**********SPACE********** Do While 【ch=&?&】 Select Case ch Case &a& To &z& n1 = n1 + 1 '**********SPACE********** Case 【&A& To &Z&】 n2 = n2 + 1 Case &0& To &9& n3 = n3 + 1 End Select ch = InputBox(&请输入一个字符&) '**********SPACE********** 【wend】 Print n1, n2, n3 End Sub 第 40 题 (1.0 分) '功能:本程序运行后,单击“替换”按钮,可以将 text1 中包含的 'text2 内容,替换为 text3 内容。 '如果若 text1 中包含 text2,则将被查找内容替换为 text3 中内容, '否则,不进行替换,并且将最终结果打印在窗体上。运行效果如图 1 所示 '**********SPACE********** Public Function MyReplace(s$, OldS$, NewS$) As 【String】 Dim i%, lenOldS% lenOldS = Len(OldS) i = InStr(s, OldS) Do While i & 0 s = Left(s, i - 1) + NewS + Mid(s, i + lenOldS) i = InStr(s, OldS) Loop '**********SPACE********** MyReplace=【s】 End Function Private Sub Command1_Click() Print MyReplace(Text1, Text2, Text3) End Sub Public Sub sMyReplace(s$, OldS$, NewS$) Dim i%, lenOldS% lenOldS = Len(OldS) i = InStr(s, OldS) Do While i & 0 s = Left(s, i - 1) + NewS + Mid(s, i + lenOldS) i = InStr(s, OldS) Loop End Sub第 41 题 (1.0 分) '题目: '在窗体上有三个名称为 Ch1、Ch2 和 Ch3 的复选框,标题依次为 '&程序设计&、&数据库原理&、&计算机网络&,还有一个名称为 C1, '标题为&选课&的命令按钮(如图 1 所示) 。要求程序运行后,如果 '选择某个复选框, 则当单击命令按钮时在窗体上输出相应的信息。 '例如:如果选择&程序设计&和&数据库原理&复选框,则单击命令 '按钮后,将在窗体上显示&我选的课程是程序设计数据库原理&; '如果选择&数据库原理&复选框,则单击命令按钮后,将在窗体上 '显示&我选的课程是数据库原理&。 '------------------------------------------------------Option Explicit Private Sub C1_Click() Dim s As String s = &我选的课程是& If Ch1.Value = 1 Then s = s & &程序设计& End If If Ch2.Value = 1 Then s = s & &数据库原理& End If If Ch3.Value = 1 Then '**********SPACE********** s = s & ch3.【Caption】 End If '**********SPACE********** Print 【s】 End Sub 第 42 题 (1.0 分) '功能:要求在 Text1 中输入一段字符,选中“大写转为小写小写转为大写” , '单击转换按钮后,Text2 显示大小写相反的字符串;选中“全部小写” , '单击转换按钮后,Text2 显示全部小写的字符串; '选中“全部大写” ,单击转换按钮后,Text2 显示全部大写的字符串。 Private Sub Command1_Click() Dim n As Integer, k As Integer, ch As String, a As String '**********SPACE********** n = Len(【Text1.Text】) ch = && For k = 1 To n '**********SPACE********** a = Mid(Text1.Text,【k】,1 ) If Option1.Value = True Then If a &= &a& And a &= &z& Then ch = ch + UCase(a) ElseIf a &= &A& And a &= &Z& Then ch = ch + LCase(a) Else ch = ch + a End If End If If Option2.Value = True Then ch = UCase(Text1) End If If Option3.Value = True Then ch = LCase(Text1) '**********SPACE********** 【End If】 Text2 = ch Next k End Sub 第 43 题 (1.0 分) '功能:以下程序的功能如(图 1)。 Private Sub Form_Click() Dim s As Single, m As Integer, p# s = 1 For m = 1 To 10 '**********SPACE********** p=【n(m)】 s = s + 1 / p Next m Print s End Sub unction n(k%) p = 1 For m = 1 To k '**********SPACE********** p =【p*m】 Next m '**********SPACE********** 【n=p】 End Function 第 44 题 (1.0 分) '功能:以下程序段用于实现矩阵转置,即将一个 n×m 的矩阵的行和列 ' 互换 Private Sub Form_Click() Const n = 3 Const m = 4 Dim a(n, m), b(m, m) As Integer For I = 1 To n For j = 1 To m a(I, j) = Int(Rnd * 90) + 10 Next j '**********SPACE********** 【Next I】 For I = 1 To n For j = 1 To m '**********SPACE********** 【b(j,I)=a(I,j)】 Next j Next I Print &矩阵转置前& For I = 1 To n For j = 1 To m Print a(I, j); Next j '**********SPACE********** 【print】 Next I Print &矩阵转置后& For I = 1 To m For j = 1 To n Print b(I, j); Next j Print Next I End Sub 第 45 题 (1.0 分) '功能:完成程序,使程序输出值为 15 Private Sub Command1_Click() '**********SPACE********** Dim i, j, x,【k】 As Integer For i = 1 To 4 x = 4 For j = 1 To 3 x = 3 '**********SPACE********** For 【k】 = 1 To 2 '**********SPACE********** x = x + 【6】 Next k Next j Next i Print x End Sub 第 46 题 (1.0 分) '下面程序的功能是随机生成小于 100 的诸素数组成的数据。程序界面如下图所示。 Option Explicit Private Sub Command1_Click() Dim p() As Integer,i As Integer,n As Integer Dim st As String,k As Integer Randomize k =InputBox(&元素个数;&,,20) ReDim p(k) Do n =Int(Rnd*90)+10 '**********SPACE********** If 【prime(n)或 prime(n)=true】 Then i =i+1 p(i) =n End If '**********SPACE********** Loop Until【i=k】 For i =1 To UBound(p) st =st & Str(p(i)) If i Mod 10 =0 Then st =st & vbCrLf Next i Text1 =st End Sub Private Function prime(n As Integer) As Boolean Dim i As Integer Prime =True For i =2 To Sqr(n) If n Mod i =0 Then '**********SPACE********** 【prime=False】 Exit For End If Next i End Function 第 47 题 (1.0 分) Option Explicit '功能: ' 本程序实现功能:将顺序文本文件 “MYFILE.TXT” 的 内容一个字符一个字符地读入文本框 txtTest 中 Dim InputData As String * 1 txtTest.Text = && '**********SPACE********** Open App.Path & &\MYFILE.TXT& For 【Input】 As #1 '**********SPACE********** Do While 【Not】 EOF(1) Input #1, InputData '**********SPACE********** txtTest.Text = txtTest.Text + 【InputData】 Loop Close #1 End Sub 第 48 题 (1.0 分) '功能:根据输入的学习成绩,分别显示优秀(90 分以上), 良好 ' (75 分以上),及格(60 分以上),不及格几个等级。Private Sub Command1_Click() x = Val(Text1.Text) If x &= 90 Then Label1.Caption = &优秀& '**********SPACE********** ElseIf 【x &=75】Then Label1.Caption = &良好& ElseIf x &= 60 Then '**********SPACE********** 【Label1.Caption=&及格&】 '**********SPACE********** 【Else】Private Sub Form_Click() Label1.Caption = &不及格& End If End Sub 第 49 题 (1.0 分) 下面的程序段用于打印出以下图形 ' ' ' ' ' ' ' ' * *** ***** ******* ***** *** *Private Sub Form_Click() Dim i%, j%, k% For i = 0 To 3 For j = 0 To 2 - i Print & &; Next j '**********SPACE********** For k = 1 To 【2 * i + 1】 Print &*&; Next k Print Next i For i = 0 To 2 For j = 0 To i '**********SPACE********** 【Print & &;】 Next j For k = 0 To 4 - 2 * i Print &*&; Next k '**********SPACE********** 【Print】 Next i End Sub 第 50 题 (1.0 分) 在窗体上设计两个文本框和两个标签,标签上显示&摄氏 ' ' ' 温度&和&华氏温度&,文本框一个用于输入摄氏温度数, 一个用于输出对应的华氏温度?摄氏温度与华氏温度的 转换公式为:c = (5 / 9) * (f - 32) ' '要求:对输入的摄氏温度数有检查功能,拒绝接收非 数字字符。 Text1 = && Text2 = && Text1.Enabled = True Text2.Enabled = True Text1.SetFocusPrivate Sub Command1_Click()End Sub Private Sub Command2_Click() End End Sub Private Sub Form_Load() Text1 = && Text2 = && Text1.Enabled = False Text2.Enabled = False End Sub Private Sub Text1_Change() '**********SPACE********** 【Text2.Text】 = 5 * (Val(Text1.Text) - 32) / 9 End Sub Private Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii && 8 Then '**********SPACE********** If Chr(KeyAscii) & &0& Or Chr(KeyAscii) & 【&9&】 Then '**********SPACE********** KeyAscii = 【0】 End If End If End Sub第 51 题 (1.0 分) '功能:本程序利用二分法查找某数字 n 是否在已排序的数列当中, ' 若在其中则输出其在数列中的位置,否则输出-1。 Option Base 1 Sub birsearch(a(), ByVal low%, ByVal high%, ByVal key, index%) Dim mid As Integer mid = (low + high) \ 2 If a(mid) = key Then '**********SPACE********** 【?】 Exit Sub ElseIf low & high Then index = -1 Exit Sub End If If key & a(mid) Then '**********SPACE********** high = 【?】 Else low = mid + 1 End If '**********SPACE********** Call birsearch(a(), low, high, 【?】, index) End Sub Private Sub Command1_Click() Dim b() As Variant, index As Integer b = Array(5, 13, 19, 21, 37, 56, 64, 75, 80, 88, 92) n = Val(Text1) Call birsearch(b, LBound(b), UBound(b), n, index) Print index End Sub 第 52 题 (1.0 分) '下面程序的功能是:在文本框 1 中输入若干以空格分隔的整数(末尾无空格) , '程序自动将输入的数据分解并存储到一个一维数组, '再把数组中所有重复的元素删除(只保留一个) ,并输出到文本框 2。 Option Explicit Option Base 1 Private Sub Command1_Click() Dim a() As Integer, i As Integer, st As String Dim k As Integer, p As Integer st=Text1 Do p=InStr(st,& &) If p&&0 Then '**********SPACE**

我要回帖

更多关于 python编写窗体程序 的文章

 

随机推荐