编程题目题面
CH――教材作业 EX――习题作业 SX――实验作业 IE――其他
(在网络硬盘上新建一个名为“POJ”的文件夹,所有题目存放在此文件夹下,只需提交*.vbp和*.frm两个文件)
第五章数据输入/输出
文件名:IE0501
题号:5.1
习题描述:
新建工程,在Form_Click事件中编写程序,利用InputBox函数输入一个三位数,在窗体上用Print方法输出该数的个位数,十位数和百位数。输出时,各个数值占一个显示区段(按照Print方法的标准格式输出)。
提示:
x = Val(InputBox("please input"))
neo = x Mod 10
Ten = (x \ 10) Mod 10
hundred = x \ 100
输入:
123
输出:
3 2 1
文件名:IE0502
题号:5.2
习题描述:
设计一个时间转换程序,实现秒到时、分、秒的转换,将转换结果输出在窗体上。新建工程,在Form1窗体上建立一个"Command1"命令按钮,其”caption”属性设置为”计算”。在Command1_Click事件中编写程序,用InputBox函数输入以秒为单位表示的时间,在窗体上用用Print方法输出转换后的时、分、秒形式的结果。
数据描述:
输出格式:*时*分*秒
输入:
32451
输出:
9小时0分钟51秒
文件名:IE0503
题号:5.3
习题描述:
输入两个电阻的值,求它们并联的电阻值,要求结果保留三位小数。
新建工程,在Form_Click事件中编写程序,用InputBox函数输入,在窗体上用Print方法输出计算结果。
提示:
R1 = Val(InputBox("输入电阻R1=?"))
R2 = Val(InputBox("输入电阻R2=?"))
Rp = R1 * R2 / (R1 + R2)
Rp = Fix(Rp * 1000 + 0.5) / 1000 '保留小数点后3位
输入:
23.5 98.3
输出:
18.966
第七章 Visual Basic控制结构
文件名:IE0701
题号:7.1
习题描述:
提示:当最后一项的绝对值小于0.000001时停止计算。
Do While 1 / t > 0.000001
s = s + f / t
i = i + 1
t = t * (2 * i) * (2 * i + 1) '求2i-1的阶乘
f = -f '符号反号
新建工程,在Form_Click事件中编写程序,在窗体上用Print方法输出计算结果。
输入:
输出:
.841471
文件名:IE0702
题号:7.2
习题描述:
判断一个给定的整数是否为素数。
新建工程,在Form_Click事件中编写程序,用InputBox函数输入,在窗体上用Print方法输出计算结果。(按照Print方法的紧凑格式输出)
输入:
258
3
输出:
258 不是素数
3 是素数
文件名:IE0703
题号:7.3
习题描述:
编写程序,计算1+2+3+…+100的值,将结果输出在窗体上。
新建工程,在Form_Click事件中编写程序,在窗体上用Print方法输出计算结果。
输入:
输出:
5050
文件名:IE0704
题号:7.4
习题描述:
编写程序,将一张面值为100元的人民币等值换成100张5元、1元和0.5元的零钞,要求每种零钞不少于1张,问有哪几种组合?
For x = 1 To 19
For y = 1 To 100 - x
z = 100 - x - y
If 5 * x + y + 0.5 * z = 100 Then
Print x, y, z
n = n + 1
End If
Next y
Next x
新建工程,在Form_Click事件中编写程序,在窗体上用Print方法输出计算结果。输出时一种组合占一行,各个数值占一个显示区段(按照Print方法的标准格式输出)
输入:
输出:
文件名:IE0705
题号:7.5
习题描述:
编写程序,求一内半径R1=10cm、外半径R2=20cm的球环的体积。要求结果按照四舍五入保留到小数点后4位。(Const PI# = 3.1415926)
新建工程,在Form_Click事件中编写程序,在窗体上用Print方法输出计算结果。
输入:
输出:
29321.5309
文件名:IE0706
题号:7.6
习题描述:
输入一学生成绩,评定其等级。方法是:90~100分为“优秀”,80~89分为“良好”,70~79分为“中等”,60~69分为“及格”,60分以下为“不合格“。
新建工程,在Form_Click事件中编写程序,用InputBox函数输入,在窗体上用Print方法输出计算结果。(按照Print方法的紧凑格式输出)
输入:
87
输出:
良好
文件名:IE0707
题号:7.6
习题描述:
从键盘上输入两个正整数M和N,求M和N的最小公倍数,并在窗体上输出。(最小公倍数:对于两个整数来说,指该两数共有倍数中最小的一个。)
提示:
M = InputBox("input M")
N = InputBox("input N")
A = M
B = N
If N = 0 Then
Exit Sub
End If
R = M Mod N
Do While R <> 0
M = N
N = R
R = M Mod N
Loop
If N <> 0 Then
Print A * B / N
End If
新建工程,在Form_Click事件中编写程序,用InputBox函数输入,在窗体上用
Print方法输出计算结果。
输入:
12 23
输出:
276
文件名:IE0708
题号:7.8
习题描述:
输入一英文句子,将其每个单词首字母变为大写字母,再输出。
提示:
oldsen = InputBox("please inpute a sentence")
n = Len(oldsen)
lastchar = " "
For i = 1 To n
char = Mid(oldsen, i, 1)
If lastchar = " " Then
char = UCase(char)
End If
newsen = newsen & char
lastchar = char
Next i
Print newsen
新建工程,在Form_Click事件中编写程序,用InputBox函数输入,在窗体上用Print方法输出计算结果。
输入:
we are all students
输出:
We Are All Students
文件名:IE0709
题号:7.9
习题描述:
输入一字符串变量,在此字符串中查找“at“,在窗体上输出查找的结果:
(1)如果没有找到,输出“未找到“。
(2)如果找到,输出找到的个数。
提示:
str1 = InputBox("please input a string")
length = Len(str1)
i = 1
sum = 0
Do While i <= length - 1
If Mid(str1, i, 2) = "at" Then
sum = sum + 1
End If
i = i + 1
Loop
If sum = 0 Then
Print "未找到"
Else
Print sum
End If
新建工程,在Form_Click事件中编写程序,用InputBox函数输入,在窗体上用Print方法输出计算结果。
输入:
ad asetrtaass
adta at a t astat
输出:
未找到
2
文件名:IE0710
题号:7.10
习题描述:
输入一公元年号,判断是否是闰年。闰年的条件是:年号能被4整除但不能被100整除,或者能被400整除。判断的结果如果是闰年,输出“**年是闰年“,否则输出”**年不是闰年“。
提示:
If (N Mod 400 = 0) Or (N Mod 4 = 0 And N Mod 100 <> 0) Then '判断条
件
Print N & "年是闰年"
Else
Print N & "年不是闰年"
End If
新建工程,在Form_Click事件中编写程序,用InputBox函数输入,在窗体上用Print方法输出计算结果。
输入:
1989
输出:
1989年不是闰年
第八章数组
文件名:IE0801
题号:8.1
习题描述:
求某班20个同学某们课程考试的平均成绩及高于平均成绩的学生人数。
新建工程,在Form_Click事件中编写程序,用InputBox函数分别输入各学生考试成绩,在窗体上用Print方法输出计算结果。
输入:
67 89 96 45 23 66 98 90 56 54 34 76 78 88 65 44 55 37 91 93
输出:
67.25
9
文件名:IE0802
题号:8.2
习题描述:
编写程序,输入n(n<10),建立一个n×n的“杨辉三角形”,用InputBox函数输入n,在窗体上输出第n行的所有元素。
提示:
n = Val(InputBox("input n"))
ReDim s(n, n)
'第一列和主对角线为1
For i = 1 To n
s(i, 1) = 1
s(i, i) = 1
Next i
For i = 3 To n
For j = 2 To i - 1
s(i, j) = s(i - 1, j - 1) + s(i - 1, j)
Next j
Next i
新建工程,在Form_Click事件中编写程序,在窗体上用Print方法输出计算结果。
数据描述:
输出时各元素以空格间隔(按照Print方法的紧凑格式输出)
输入:
7
输出:
1 6 15 20 15 6 1
文件名:IE0803
题号:8.3
习题描述:
设有一个包含10个元素的递减的有序数组,编写程序,从键盘输入一个数,将其插入到数组中使其仍然有序,并在窗体上输出插入该值后的数组。
提示:
n = UBound(a)
ReDim Preserve a(n + 1)
m = Val(InputBox("输入欲插入的数"))
For i = UBound(a) - 1 To 0 Step -1
If m >= a(i) Then
a(i + 1) = a(i)
If i = 0 Then
a(i) = m
End If
Else
a(i + 1) = m
Exit For
End If
Next i
新建工程,在Form_Click事件中编写程序,用InputBox函数输入欲插入的数,在窗体上用Print方法输出计算结果。
数据描述:
有序数组的原始值为:29 21 15 13 11 9 7 5 3 1
输出时各元素以空格间隔(按照Print方法的紧凑格式输出)
输入:
19
输出:
29 21 19 15 13 11 9 7 5 3 1
文件名:IE0804
题号:8.4
习题描述:
编写程序,将一维数组中元素向右循环移位,移位次数由键盘输入。
提示:
M = Val(InputBox("请输入移位次数M=?")) '输入循环次数的大小'移位For i = 1 To M '循环体完成右移一位,循环完成右移j位 t = A(N - 1)
For k = N - 1 To 1 Step -1 '循环右移
A(k) = A(k - 1)
Next k
A(0) = t
Next i
新建工程,在Form_Click事件中编写程序,用InputBox函数输入移位次数,在窗体上用Print方法输出移位后的数组元素值。
数据描述:
数组的原始值为:0 1 2 3 4 5 6 7 8 9 10
输出时各元素以空格间隔(按照Print方法的紧凑格式输出)
输入:
5
输出:
6 7 8 9 10 0 1 2 3 4 5
文件名:IE0805
题号:8.5
习题描述:
设某个班共有10个学生,期末考试3门课程,编写程序评定学生的奖学金,要求输出一等奖学金学生的编号和各门课成绩,如果无人获得一等奖学金,输出提示符“无人获得一等奖学金”。(奖学金评定标准是:总成绩超过全班总平均成绩20%发给一等奖学金。)
新建工程,在Form_Click事件中编写程序,用InputBox函数输入各学生3门课成绩,在窗体上用Print方法输出计算结果。
数据描述:
一个学生的3门课成绩占数组一行,按照行的顺序输入数组元素
逐行输出学生的3门课成绩,各元素以空格间隔(按照Print方法的紧凑格式输出)
输入:
56 67 32 92 95 90 91 90 88 86 80 75 77 88 98 90 95 95 91 90 90 77 60 61 66 65 60 60 58 50
输出:
6 90 95 95
文件名:IE0806
题号:8.6
习题描述:
有一个2×4的二维数组,编写程序输入各元素值,并按行顺序将此数组的每个元素放入一个一维数组中,并将此一维数组元素值在窗体上输出。
提示:
For i = 1 To 2
For j = 1 To 4
a(i, j) = InputBox("input" & i & "," & j & "array number")
b(n) = a(i, j)
n = n + 1
Next j
Next i
新建工程,在Form_Click事件中编写程序,用InputBox函数输入数组各元素,在窗体上用Print方法输出一维数组元素值。
数据描述:
按照行的顺序输入二维数组元素
输出格式:数值以空格间隔(按照Print方法的紧凑格式输出)
输入:
4 5 12 8 30 15 6 19
输出:
4 5 12 8 30 15 6 19
文件名:IE0807
题号:8.7
习题描述:
编写程序,实现矩阵转置,即将m×n矩阵的行和列互换,并在窗体上逐行输出转置后矩阵。
新建工程,在Form_Click事件中编写程序,用InputBox函数输入m、n和数组各元素值,在窗体上用Print方法输出。
数据描述:
按照行的顺序输入数组元素
逐行输出数组的元素,各元素以空格间隔(按照Print方法的紧凑格式输出)输入:
2 3 16 7 59 30 8 16
输出:
16 30
7 8
59 16
第九章过程
文件名:IE0901
题号:9.1
习题描述:
编写一个Function过程,顺序查找从键盘输入的数x是否在某一给定数组中,若找到返回x在此数组中的位置,找不到返回-1。
新建工程,在Form_Click事件中编写程序,用InputBox函数输入要查找的数x,在窗体上用Print方法输出计算结果。
数据描述:
数组的原始值为:45 3 32 5 12 4 16 7 19 28
输入:
7
66
输出:
是第8个元素
-1
文件名:IE0902
题号:9.2
习题描述:
编写程序,计算如下表达式的值:
新建工程,阶乘计算用Function过程实现,用InputBox函数输入m和n的值,在窗体上用Print方法输出计算结果。
输入:
12 5
输出:
792
文件名:IE0903
题号:9.3
习题描述:
编写程序,计算如下表达式的值:
新建工程,在Form_Click事件中编写程序,用InputBox函数输入x和n的值,在窗体上用Print方法输出计算结果。
输入:
1.2 6
输出:
3.319283
文件名:IE0904
题号:9.4
习题描述:
编写一个Function过程,判断一输入字符串是否是回文,函数的返回值是一逻辑量,当是回文时在窗体上输出True,不是回文时输出False。
所谓回文是指顺读与倒读都相同,例如“ABCDCBA”。
新建工程,在Form_Click事件中编写程序,用InputBox函数输入要判断的字符串,在窗体上用Print方法输出计算结果。
输入:
abcdcba
aaasdgs
输出:
true
false
文件名:IE0905
题号:9.5
习题描述:
编写一个sub过程,将输入字符串s1中出现的子字符串s2删除,结果保存在s1中。
例如,s1=”asd12fg12rt”,s2=”12”,删除以后的结果为s1=”asdfgrt”新建工程,在Form_Click事件中编写程序,用InputBox函数输入要判断的字符串,在窗体上用Print方法输出计算结果。
输入:
asd12fg12rt 12
输出:
asdfgrt