信息技术教师招聘编程题目及答案
如需相应的流程图请联系1918251525@qq.com
1(编写程序,计算1+2+3+4+„+100。
解答:使用For循环语句,程序如下:
Private Sub Form_Click( )
Static Sum As Integer
For I =1 To 100
Sum = Sum + I
Next I
Print Sum
End Sub
程序运行后,单击窗体,输出结果为:5050。
2(我国现有人口为12亿,设年增长率为1%,编写程序,计算多少年后增加到16亿。
解答:程序如下:
Private Sub Form_Click( )
Dim p As Double
Dim r As Single
Dim n As Integer
P=1200000000
r=0.01
While p<1600000000
P = P + P* r
N = N + 1
Wend
P = Int(P)
Print N;″年后,全国人口为:″;P
End Sub
3(从键盘上输入两个正整数M和N,求最大公因子。 解答:程序如下:
Private Sub Form_Click ( )
Dim m, n As Integer
m = InputBox (″请输入M的值″)
m = Val (m)
m1 = m
n = InputBox(″请输入N的值″)
n = Val ( n )
n1= n
Do While n < > 0
remin = m Mod n
m = n
n=remin
Loop
Print m1; "和"; n1;"的最大公因子是:";m End Sub
该程序通过辗转相除法求两个正整数的最大公因子。程序运行后,在输入对话框中分别输入96
和64,输出结果为:96和64的最大公因子是:32
7(从键盘上输入一个学生的学号和考试成绩,然后输出该学生的学号、成绩,并根据成绩按下
面的规定输出对该学生的评语:
1
成绩 80~100 60~79 50~59 40~49 0~39
评语 Very good Good Fair Poor Fail
Private Sub Form_Click ( )
n = InputBox(″请输入学号″)
s = InputBox(″请输入分数″)
If s >= 80 Then
MsgBox "学号" & n & ",分数为 " & s & ",Very good"
ElseIf s >= 60 And s <= 79 Then
MsgBox "学号" & n & ",分数为" & s & ",good"
ElseIf s >= 50 And s <= 59 Then
MsgBox "学号" & n & ",分数为" & s & " ,Fair"
ElseIf s >= 40 And s <= 49 Then
MsgBox "学号" & n & ",分数为" & s & ",Poor "
ElseIf s >= 0 And s <= 39 Then
MsgBox "学号" & n & ",分数为" & s & ",Fail "
End If
End Sub
程序运行后,单击窗体,在输入对话框中分别输入学号和分数,程序将在输出对话框中输出适当
评语。
5(从键盘上输入4个数,编写程序,计算并输出这4个数的和及平均数。通过InputBox函数输入数
据,在窗体上显示和及平均值。
Private Sub Command1_Click()
a = Val(a)
b = InputBox(″输入第二个数″)
b = Val(b)
C = InputBox(″输入第三个数″)
C = Val(C)
D = InputBox(″输入第四个数″)
D = Val(D)
sum = a + b + C + D
aver = sum / 4
Print "所输入的4个数分别为:"; a, b, C, D
Print " 4个数的和为:"; sum
Print "4 个数的平均值为:"; aver
End Sub
以1,2,3,4,5为边长可以形成多少个三角形,不考虑相同情况,请输出这些三角形的三个边
长
Private Sub Form_Click()
Dim i%, j%, k%, m%
2
m = 0
Print "能构成三角形的有:"
For i = 1 To 3
For j = 2 To 4
For k = 3 To 5
If i + j > k And Abs(i - j) < k And i < j And j < k Then
Print i, j, k
m = m + 1
End If
Next k
Next j
Next i
Print "共有" & m & "组"
End Sub
用inputbox输入x和n Private Sub Command1_Click() n = val(inputbox("输入N"))
x = val(inputbox("输入X"))
Do While n <= 2
a = 1
For i = 1 To n + 1
a = a * i
Next i
Sum = Sum + (x ^ n) / a n = n + 1
Loop
Print Sum
End Sub
VB编程,1+1/3+1/5+...+1/(2n-1)求和
Private Sub Command1_Click()
Dim s
n = 100
For i = 1 To n
s = s + 1 / (2 * i - 1)
Next i
Print s
End Sub
vb求和,求sin(x)=x/1-x^3/3!+x^5/5! - „„ (-1)^(n-1)* x^(2*n-1)/(2n-1)~ 感叹号是阶乘的
意思
Private Sub Form_Click()
Dim i As Long, n As Long, t As Double, s As Double
3
x = Val(InputBox("Input x"))
t = x
s = 0
n = 1
Do While Abs(t) >= 10 ^ (-5)
s = s + t
t = t / ((n + 1) * (n + 2)) * (-1) * x ^ 2
n = n + 2
Loop
Print "s="; s
End Sub
VB编程,求出S =1乘3乘5加2乘4乘6一直到加20乘22乘24的和 Private Sub Form_Load()
Dim i, j, sum, a
For i = 1 To 20 Step 6
a = 1
For j = i To i + 4 Step 2
a = a * j
Next
sum = sum + a
a = 1
For j = i + 1 To i + 5 Step 2
a = a * j
Next
sum = sum + a
Next
MsgBox sum
End Sub
vb数组0,5,6,10,11,12,15,16,17,18,20,21,22,23,24的代码 Private Sub Form_Load()
Dim dat(14) As String
Dim i As Integer, ii As Integer, iii As Integer
Dim x As Integer
For i = 5 To 1 Step -1
For ii = 0 To 5 - i
dat(iii) = x + ii
iii = iii + 1
Next
x = dat(iii - 1) + i Next
MsgBox Join(dat, ",")
End Sub
用VB编程判断一个数字 如果是质素 则显示质素 如果是合数 则显示它的因数积的形式 例如 6 显
示 3*2 24显示
Private Sub Form_Click() '定义按钮
Dim a%, f%: Cls '定义数值
4
a = Val(InputBox("一个数字", , 6)) '手动输入数值
For i = 2 To Sqr(a) ' i (变量) 从2到 a
If a Mod i = 0 Then Print i; "*"; a / i;: f = 1 '如果a能被i整除,就显示a=i*。,
f=1
Next
If f = 0 Then Print a & "是质数" 'f=0,a就是质数
End Sub
求VB数字金字塔1 22 333 4444一直到N的代码
Private Sub Command1_Click() For i = 1 To 4
For j = 1 To i
Print i;
Next j
Print vbLf
Next i
End Sub
vb代码:任意输入一个100-999间的数字。输出它的个位数 Private Sub Form_Click()
Dim a As Integer
Dim b As Integer
a = Val(Text1.Text)
b = a Mod 10
Print b
End Sub
由1,2,3,4四个数字,能组成多少个互不相同且无重复数字的三位数都是多少, Private Sub Form_Activate() Dim c As Integer
For i = 1 To 4
5
For j = 1 To 4
For w = 1 To 4
If i <> j And j <> w Then
Debug.Print i & j & w
c = c + 1
End If
Next
Next
Next
MsgBox "共有" & c & "个"
End Sub
用0,9这十个数字可以组成能被15整除且无重复数字的三位数的个数”并打印结果
Private Sub Command1_Click() For i = 1To 9
For x = 0 To 9
For y = 0 To 9
d = i & x & y
If d Mod 15 = 0 Then Print d Next
Next
Next
DoEvents
End Sub
编写vb程序计算S=1+22+333+4444+...+666666的值
Private Sub Form_Click()
Dim i As Integer, S As String
For i = 1 To 6
S = String(i, CStr(i))
sum = sum + Val(S)
Next
Print sum
End Sub
VB循环嵌套完成如下图案,会的发下代码。 **1** **22** **333** **4444** **55555**
Private Sub Command1_Click()
For i = 1 To 5
S = "**"
6
For j = 1 To i
S = S & i
Next j
Print S & "**"
Next i
End Sub
VB编程实现下面的目的,输入一个正整数,然后计算该数的每一位非零数字相乘的积。
Private Sub Command1_Click()
x = Val(InputBox("正整数", "输入", 1234556))
t = 1
While x >= 1
y = x Mod 10 '截取得余数
Print y; '查看值
If y <> 0 Then t = t * y
x = x \ 10 '截取后的
内容
财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容
Wend
Print t
End Sub
VB编程。找出所有三位数的升序数,就是个位数字大于十位数,十位数大于百位数。
Private Sub Command1_Click() Dim i, j, k, l, n
For i = 100 To 999 '所有的三位数
j = i \ 100 '百位上的数
k = (i - 100 * j) \ 10 '十位上的数
l = i - 100 * j - 10 * k '个位上的数
If (l > k And k > j) Then '个位数字大于十位数,十位数大于百位数。
Print i;
n = n + 1 '
记录
混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载
满足条件的个数
If (n Mod 20 = 0) Then '每20个换行
Print
End If
End If
Next i
End Sub
VB编程两位数内十位数比个位数大的数字之和
Private Sub Command1_Click()
Dim sum, i, j As Long
7
Dim a, b As Integer
For j = 10 To 99
a = j Mod 10
b = j \ 10
If a < b Then i = i + 1: sum = sum + j
Next j
Print sum '显示和
End Sub
vb编程:给一个三位数,求三位数字之和
Private Sub Command1_Click() Dim s, a, i As Integer
a = Len(Text1.Text)
For i = 1 To Len(Text1.Text) s = s + CInt(Mid(Text1, a, 1)) a = a - 1
Next i
Print CStr(s)
End Sub
VB编程:一个三位整数,它的百位数字、十位数字以及个位数相加等于17。求满足上述条件的三
位正整数的和
Private Sub Form_Click() Sum = 0
For i = 100 To 999
s = Trim(Str(i))
If Val(Left(s, 1)) + Val(Right(s, 1)) + Val(Mid(s, 2, 1)) = 17 Then
Sum = i + Sum
End If
Next
Print Sum
End Sub
VB程序代码,求100~300之间的所有素数
Private sub command1_click()
dim n as integer, k as integer tex1=""
8
for n=101 to 300 step 2‘外循环是需要判断的数’
for k =2to n-1 ‘内循环是每一次需要判断的范围,素数是除了1和n本身外,都不能被n整除,因此每一次从2 to n-1’
if n mod k=0 then‘这个if语句是用来跳出循环的,一旦2 to n-1 有那个数被n整除,他肯定不是素数,因此直接exit for跳出 for循环,直接执行了if k>=n这句了’
exit for
end if
next k
if k>=n then‘这句话是必要的因为这个if语句中的k有两种:当k>=n是素数完成了从2 to n-1的k循环,k最后一次的值是n,由于k不属于2 to n-1,跳出k循环,从if >=n开始执行,由于k=n,满足if条件,在text1中输出;当k<=n-1时就跳出循环,是上面那个if条件判断的功劳,她执行的k循环是从2 to i,i<=n-1,说明他不是素数,已经通过exit for跳出循环,,因此ifk>=nshi 过滤n是不是素数,是必不可少的;如果不加k>=n的话,文本框输出的就是全部的数字,起不到判断素数的功能。
text1=text&space(5)&n ’文本框中输出的格式是:开头空五个空格,然后是第一个素数,
然后在空5个空格,再是第二个素数,以此力推到最后,原因是开始text1中为空,当有第一个素数时,text1.text=text1.text & space(5)& n,zhe这句话的意思是在text1的内容的基础上加上5个空格,再加上某个素数,因此,第一次执行时,在空格的基础上加上5个空格和第一个素数,这是第一个素数就是这样,以后的素数也是这样的原理,最后的text1中的内容是:” r1 r2
r3.。。。。“就这样
end if
next n
end sub
其实,判断素数还有一个方法,其中k循环是从2 to sqr(n),这样计算机执行循环的次数就少了; 先说这么多,还有什么不会,到时再问 ,呵呵~
输出2到100之间的所有素数,用VB编写程序代码
Private Sub Form_Click()
Dim i As Integer, j As Integer, x As Integer For i = 2 To 100
x = 0
For j = 2 To i - 1
If i Mod j = 0 Then x = 1
Next j
If x = 0 Then Print i
Next i
End Sub
计算数列1、2、3、4„„ 9999中能被13整除的整数个数.用VB编程
Private Sub Command1_Click()
For i = 1 To 9999
If i Mod 13 = 0 Then
9
n = n + 1
End If
Next i
Print "共有" & n & "个数"
End Sub
222221,2,3,4,??,20编写程序,求
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
达式 的值。 Private Sub Form_Click() Dim i As Integer, sum As Long For i = 1 To 20
sum = sum + i ^ 2
Next i
Print sum
End Sub
123456781,2,3,4,5,6,7,8编写程序,求表达式的值 Private Sub Form_Click() Dim i As Long, sum As Long For i = 1 To 8
sum = sum + i ^ i
Next i
Print sum
End Sub
22222编写程序,求表达式1/1+1/2+1/3+1/4+„+1/10的值。 Private Sub Command1_Click() Dim s As Double‘定义累加变量s来储存结果 Dim i As Double’定义i为计数变量。
For i = 1 To 10
s = s + 1 / i ^ 2
Next i
Print s
End Sub
编写程序,求表达式1+3+5+7+9„„+99
Private Sub Command1_Click() Dim s As Double
Dim i As Double
For i = 1 To 99 step 2 s = s + i
Next i
Print s
End Sub
1.求P的值:P=1!+3!+5!+7!+9! Private Sub Form_Click() Sum = 0
10
For a = 1 To 9 Step 2
b = 1
For c = 1 To a
b = b * a
Next c
Sum = Sum + b
Next a
Print Sum
End Sub
2.输出1到100自然数中被7整除的数据的个数及他们的和. Private Sub Form_Click() For a = 1 To 100
If a Mod 7 = 0 Then b = b + 1: Sum = Sum + a
Next a
Print b, Sum
End Sub
Private Sub Form_Load() Sum = 0
b = 0
End Sub
那个下划线(也就是“横”)左边的是控件名(Command1),右边的是事件(Click),括号里包含
的是参数(空白就表示没有参数)。
整个的意思就是:当你用鼠标点击名为Command1的按钮时,就执行这一行下面的多行代码,直到遇
到End Sub结束
1、输入长方形的长和宽,计算长方形的面积,并输出。 Private Sub command1_click() Dim a%, b%, s%
a = Val(InputBox("a"))
b = Val(InputBox("b"))
s = a * b
Print s
End Sub
3、输入圆的半径,计算圆的周长,并输出。
Private sub command1_click() Const pi=3.14
Dim s#,i%
r=val(inputbox("请输入半径"))
s=2*pi*r
print "圆的周长为:";s
end sub
4、》计算sum=1/2!+1/4!+1/6!+...+1/10! Private sub command1_click() Dim i%,f#,s#
F=1:s=0 各种语句中间加冒号(:) For i=1 to 10
11
F=f*i
If i mod 2=0 then
S=s+1/f
End if
Next i
Print "sum=1/2!+1/4!+1/6!+...+1/10!";"=";s
End sub
7、计算sum=1+3+5+...+99
Private Sub command1_click() Dim i%, sum%
For i = 1 To 99 Step 2
sum = sum + i
Next
Print sum
End Sub
11、随机输出一个位于[0,100]的整数。
Private Sub Command1_Click() Dim s#
S=int(rnd *101) '括号里是r n d ,不是md
Print "随机整数为:";s
End sub
13、编写一个函数,其功能为求两个数的最小数。
Private Sub Command1_Click() Dim x!, y!
x = InputBox("输入第一个数值 ")
y = InputBox("输入第二个数值 ")
Min = f(x, y)
End Sub
Public Function f(m!, n!) Min = m
If Min > n Then Min = n f = Min
Print "两数中的较小数是"; Min
End Function
14、》输入一个四位数,分别输出它的个位数字、十位数字、百位数字和千位数字。
Private Sub Command1_Click() Dim n%, a%, b%, c%, d%
n = InputBox("输入n的值")
a = n \ 1000
12
b = (n - a * 1000) \ 100 c = (n - a * 1000 - b * 100) \ 10 d = n - a * 1000 - b * 100 - c * 10
Print "这个四位数的千位数字是:"; a
Print "这个四位数的百位数字是:"; b
Print "这个四位数的十位数字是:"; c
Print "这个四位数的个位数字是"; d
End Sub
17、随机输出一个小(大)写字母。
Private Sub Command1_Click() Dim s
s = Chr$(Int(Rnd * 26 + 97))
p = Chr$(Int(Rnd * 26 + 65)) Print "输出的随机小写字母是"; s
Print "输出的随机大写字母是"; p
End Sub
22. 输入一个两位数,分别输出它的个位数字和十位数字。
Private Sub Command1_Click() Dim a!, n!, b!
a = Val(InputBox("输入以为二位数"))
Print "输入的一个二位数是" & a
n = a Mod 10
b = a \ 10
Print "十位数是" & b
Print "个位数是" & n
End Sub
23、编写一个函数,其功能为求两个数的最大公约数。 Private Sub Command1_Click() Dim n%, m%, r%, t%, x%, y% m = InputBox("输入的第一个自然数")
n = InputBox("输入的第二个自然数")
If m < n Then t = m: m = n: n = t x = m: y = n
r = m Mod n
Do While r <> 0
x = y
y = r
r = x Mod y
Loop
Print m & "和" & n & "的最大公约数是";y
End Sub
24、编写一个函数,其功能为求两个数的最小公倍数。 Private Sub Command1_Click() Dim n%, m%, r%, t%, x%, y% m = InputBox("输入的第一个自然数")
n = InputBox("输入的第二个自然数")
13
If m < n Then t = m: m = n: n = t x = m: y = n
r = m Mod n
Do While r <> 0
x = y
y = r
r = x Mod y
Loop
Print m & "和" & n & "的最小公倍数是"; m * n / y End Sub
25、 》 编写程序,计算并输出下面级数前 n 项 (n=20) 中奇数项的和。
1*2*3-2*3*4+3*4*5-4*5*6+ „ +(-1)^(n-1)*n*(n+1)*(n+2)+ „ (其中, ^ 表示幂运算)
Private sub command1_click() Dim i%,n%,sum%
n=20
for i=1 to n step 2
sum= sum+ i*(i+1)*(i+2)
Next
Print sum
End sub
28、》计算sum=1*2*3*...*10
private sub command1_click() dim sum#,i%
sum=1
for i=1 to 10
sum=sum*i
next
print sum
end sub 这个编程哪里有问题,为什么运行不了,(应该 dim sum#)
31、编写程序,编写程序,计算并输出下面级数前 n (设 n=50 )项中所有奇数项的和。 (偶数项
的和)
1*2+2*3+3*4+4*5+„+n*(n+1)+„
Private Sub Command1_Click() Dim i%
n = 50
For i = 1 To n step2
s = s + i * (i + 1)
Next i
Print "奇数项的和是"; s
End Sub
34、编程题。设 n=20 ,编写程序,计算并输出 S(n) 的值,要求结果保留 5 位小数。
S(n)=(1*2)/(3*4)+(3*4)/(5*6)+(5*6)/(7*8)+„+[(2n-1)*2n]/[(2n+1)*(2n+2)]+„ Private Sub Command1_Click() Dim i%
n = 20
14
For i = 1 To n
s = s + ((2 * i - 1) * (2 * i)) / ((2 * i + 1) * (2 * i + 2))
Next i
Print "前20项的和是"; Format(s, "#.#####") End Sub
3.编写一个程序, 利用随机函数生成15个80~99之间的随机整数,输出其中的最大值与最小值。 private sub command1_click()
for i=1 to 15
a=int(Rnd*20)+80
if i=1 then max=a:min=a
if max
a then min=a
print a;
if i=7 or i=15 then print
next
print "最大值:"; max
print "最小值:"; min
end sub
15.单击窗体产生10个2位随机正整数,计算并显示出最大的数据和其在数组中的位置 Private Sub Form_Click()
Dim i, a(10), b, max
For i = 1 To 10
a(i) = Int(Rnd * 90) + 10
If max < a(i) Then max = a(i): b = i Print a(i);
Next
Print
Print "最大数: "; max
Print "在数组中的位置:"; b
End Sub
2(编写一段代码,求给定的一个圆的周长和面积。要求:
(1)圆的半径r利用Inputbox函数从键盘任意输入(r>0)。(2)圆周率定义为符号常量。 (3)利用赋值语句将求出的周长和面积赋给变量L和S。(4)用Print方法输出详细结果。 Private Sub Form_click()
Dim r As Integer, s As Integer
Const pi = 3.14159
r = Val(InputBox("r=", "请输入圆的半径"))
l = 2 * pi * r
s = pi * r ^ 2
Print "r="; r, "l="; l, "s="; s End Sub
234nn,111,,,,,,?,,1(【程序说明】下面是一段计算数学表达式 的程序。 2!3!4!n!
Private Sub Form_Click()
Dim n As Integer, p As Integer, s As Single, q As Integer, i As Integer
n = InputBox("请输入N的值:")
15
s = 0:p = -1:q = 1
For i = 1 To n
p = -p: q = q * i
s = s + p * i / q
Next i
Print s
End Sub
2(【程序说明】下列程序用于计算1+(1+3)+(1+3+5)+„+(1+3+5+„+39)。
Private Sub Form_Click()
Dim t As Integer, m As Integer
Dim sum As Integer
t = 0
m = 1
sum = 0
Do
t = t + m
sum = sum + t
m = m + 2
Loop While m <= 39
Print "sum="; sum
End Sub
1(用InputBox函数输入3个任意整数,按从大到小的顺序输出。 Private Sub Form_Click()
Dim x As Integer, y As Integer, z As Integer
Dim t As Integer
x = InputBox("请输入x的值:")
y = InputBox("请输入y的值:")
z = InputBox("请输入z的值:")
If x < y Then t = x: x = y: y = t
If x < z Then t = x: x = z: z = t
If y < z Then t = y: y = z: z = t
Print x; y; z
End Sub
2(编程,输入x值,按下式计算并输出y值。 xx,5,5,
,xx1,,5,2yfx,(), ,xx0,,1,
,x0,0,
16
Private Sub Form_Click()
Dim x As Single, y As Single
x = InputBox("请输入x的值:")
If x > 5 Then
y = x - 5
ElseIf x >= 1 Then
y = x * x
ElseIf x > 0 Then
y = Sqr(x)
Else
y = 0
End If
Print y
End Sub
-44(用近似公式求自然对数的底数e的值,直到前后两项之差小于10为止。
1111 e,1,,,,..., 1!2!3!n!
Private Sub Form_Click()
Dim x As Single, s As Single, t As Single
Dim i As Integer, n As Integer
x = InputBox("请输入x的值:")
n = InputBox("请输入n的值:")
t = x / 2: s = t
For i = 3 To n
t = t * x / i
s = s + t
Next i
Print s
End Sub
4、设a=5,b=2.5,c=7.8,编程计算:Y,pi*ab/(a+b*c)。 y=3.14*a*b/(a+b*c)
Private Sub Form_Click()
a = 5: b = 2.5: c = 7.8
y = (3.1416 * a * b) / (a + b * c)
Print "y="; y
End Sub
6、编写程序,打印如下所示的“数字金字塔”。
1
1 2 1
1 2 3 2 1
1 2 3 4 3 2 1
?
?
17
1 2 3 4 5 6 7 8 9 8 7 6 5 4 3 2 1
Private Sub Form_Click()
For i = 1 To 9
For j = 1 To 9 - i For j = 1 To 30 - 3 * i Print " "; '3个空格 Print " " '1个空格 Next j
For k = 1 To i
Print k;
Next k
For k = i - 1 To 1 Step -1
Print k;
Next k
Print
Next i
End Sub
2227、勾股定理中3个数的关系是:a+b=c。编写程序,输出30以内满足上述关系的整数组合,例如3、4、5就是一个整数组合。
Private Sub Form_Click()
Print "a", "b", "c", "a*a", "b*b", "c*c" Print
For a = 1 To 30
For b = 1 To 30
For c = 1 To 30
If a * a + b * b = c * c Then
Print a, b, c, a * a, b * b, c * c
End If
Next c
Next b
Next a
End Sub
8、从键盘上输入两个正整数M和N, Private Sub Form_Click() 求M和N的最大公因子。 Dim m As Integer, n As Integer Private Sub Form_Click() m = InputBox("请输入M的值") Dim m As Integer, n As Integer m1 = m m = InputBox("请输入M的值") n = InputBox("请输入N的值") m1 = m n1 = n n = InputBox("请输入N的值") r = m Mod n n1 = n While r <> 0 While n <> 0 m = n r = m Mod n n = r m = n r = m Mod n n = r Wend Wend Print m1; "和"; n1; "的最大公因子是:"; n Print m1;"和"; n1;"的最大公因子是:"; m End Sub End Sub
10、编写程序,打印如下的乘积表(将每行的数字分别与每列的数字相乘,并将乘积填入相应位置)。 * 3 6 9 12
14 „„
15 „„
16 „„
17 „„
18
18 „„
Private Sub Form_Click() Print " *"; Tab(9); 3, Tab(18); 6; Tab(27); 9; Tab(36); 12
Print
For i = 14 To 18
Print i;
For j = 3 To 12 Step 3
Print Tab(3 * j); j * i;
Next j
Print
Next i
End Sub
14、编程计算e=1+1/1~+1/2~+...+1/n!,要求其误差(1/n!)小于0.00001.
Private Sub Form_click()
Dim i%, n&, t!, e!
e = 0
i = 0
n = 1
t = 1
Do While t > 0.00001
e = e + t
i = i + 1
n = n * i
t = 1 / n
Loop
Print "计算了 "; i; " 项的和是 "; e
End Sub
16、求N~(N为自然数)
Private Sub Form_Click() Dim n As Integer
n = InputBox("Enter N:") k = 1
For i = 1 To n
k = k * i
Next i
Print n; "!="; k
End Sub
17、编写程序,判断一个正整数(>=3)是否为素数。 Private Sub Form_Click() Dim n As Integer
n = InputBox("请输入一个正整数(>=3)") k = 0
For i = 2 To Sqr(n)
19
If n Mod i = 0 Then k = 1
Next i
If k = 0 Then
Print n; "是一个素数"
Else
Print n; "不是素数"
End If
End Sub
20、将x,y,z三个数按从小到大的顺序排列。
Private Sub Form_Click()
Dim x As Integer, y As Integer, z As Integer
x = InputBox("请输入x的值") '输入x的初值
y = InputBox("请输入y的值")
z = InputBox("请输入z的值")
If x > y Then w = x: x = y: y = w '将x,y中的小数存放于x中
If x > z Then w = x: x = z: z = w 'x中存放x,z中小数,x为最小数
If y > z Then w = y: y = z: z = w 'y中存放y,z中的小数
Print x, y, z '在窗体上按从小到大的顺序输出x,y,z的值 End Sub
21、将学生成绩的百分制转换成A、B、C、D、E等级制。
Private Sub Form_Click()
score = InputBox("please input score 的值")
If score > 90 Then
grade = "A"
ElseIf score < 90 And score >= 80 Then
grade = "B"
ElseIf score < 80 And score >= 70 Then
grade = "C"
ElseIf score < 70 And score >= 60 Then
grade = "D"
Else
grade = "E"
End If
Print "你的等级是:" & grade '在窗体上打印出grade的值 End Sub
22、按正序和反序输出26个大写英文字母。
分析:用整型变量i表示循环变量,大写英文字母与i之间对应关系可用Chr 函数转换,字母“A”的ASCII序号为65。正序和反序输出可分别用For语句的步长为,(递增)和步长为,,(递减)来实现。
Private Sub Form_Click()
Dim i As Integer
20
For i = 1 To 26 '正序输出26个大写英文字母
Print Chr(64 + i); 'A的ASCII序号为65
Next i
Print '换行
For i = 26 To 1 Step -1 '反序输出26个大写英文字母
Print Chr(64 + i);
Next i
End Sub
23、编程计算累乘积超过1000的最小i值(P=1*2*3...*i) Private Sub Form_click() P = 1: i = 1
Do While P < 1000
i = i + 1
P = P * i
Loop
Print i
End Sub
30、编程计算1-2+3-4+5-6+...+n的值,其中n由文本框输入 。 方法1:(在窗体上先画一文本框text1)
Private Sub Command1_Click() Dim n%, i%, s%
n = CInt(Text1)
s = 0
For i = 1 To n
If i Mod 2 <> 0 Then
s = s + i
Else
s = s - i
End If
Next i
Text2 = s
End Sub
31、编程计算2^0-2^1+2^2-2^3+...+2^10的值. Private Sub Form_Click() Dim s%, i%
s = 0
For i = 0 To 10
s = s + (-1) ^ i * 2 ^ i Next i
Print "s="; s
End Sub
32、编程计算1^1+2^2+3^3+4^4+...+9^9+10^10的值。 Private Sub Form_Click() Dim s!, i%
s = 0
For i = 1 To 10
s = s + i ^ i
Next i
21
Print "s="; s
End Sub
33、编程计算1/1*2+1/2*3+1/3*4+1/4*5+...+1/n*(n+1)的值,其中n=20。 Private Sub Form_Click() Dim s!, i%, p!
s = 0
For i = 1 To 20
s = s + 1 / i * (i + 1) '不能写成1/(i+1)*i Next i
Print "s="; s
End Sub
34、e=1+1/1!+1/2!+1/3!+...+1/n!,计算e的值(精确到10 -6 )。 Private Sub Form_Click() Dim e#, i%, p&
e = 1: i = 1: p = 1
Do Until 1 / p < 10 ^ -6 '不断循环,直到单项1/n!小于10^6 e = e + 1 / p
i = i + 1
p = p * i 'p为i的阶乘i! Loop
Print "e="; e
End Sub
36、从键盘输入一整数(个位不为0),倒序输出。
Private Sub Form_click()
Dim m As Double, n As Double
n = InputBox("请输入一个整数")
Do While n <> 0
m = m * 10 + n Mod 10
n = n \ 10
Loop
Print "m="; m
End Sub
22