sum=sum+a(i)
next i
print “平均分”;(sum-min -max)/5
12 输入一串字符,统计其中字母A出现的次数。
dim s$,i%,n%
s=text1
n=0
for i=1 to len(s)
c=mid(s,i,1)
If c=”A” OR c=”a” then n=n+1
next i
print n
13 我国目前有13亿人口,按人口年增长率0.8%计算,多少年后我国人口将超过26亿。x=13
n=0
do while x<26
x=x*1.008 n=n+1
loop
print “年数为:”;n;”人数为:”;x
m=log(2)/log(1.008)
if int(m)<>m then m= int(m)+1
print m
14 小猴有桃若干,第一天吃掉一半多一个;第二天吃剩下桃子的一半多一个;以后每天都吃尚存桃子的一半多一个,到第7天只剩一个,问小猴原有桃多少
Dim n%,i%
x=1
for i=6 to 1 step -1
x =2*(x+1)
print x
next i
15 求100以内的素数
Dim m%,i%,tag as boolean
for m=3 to 100 step 2
tag=true
for i=2 to m-1
if m mod i=0 Then tag=false
next i
If tag=true then print m&”是素数”
else print m&”不是素数”
End if
next m
16 百元买百鸡问题。假定小鸡每只5角,公鸡每只2元,母鸡每只3元,编程求解购鸡案。Dim x%,y%,z%,n%
n=0
print “母鸡”,”公鸡”,”小鸡?
for x = 0 to 33
for y=0 to 50
Z=100-x-y
n=n+1
if 3*x+2*y+0.5*z=100 then print x,y,z
next y
next x
17 编程求斐波那契数列前11项。(斐波那契数列:F(0)=f(1)=1, F(n)=F(n-1)+F(n-2) n>=2)Dim x( ) as integer dim i%
n=16
redim x(n-1)
x(0)=1
x(1)=1
for i=2 to n-1
X(i)=x(i-1)+x(i-2)
next i
for i=0 to n-1
print x(i),
if (i+1)mod 5=0 then print
next
18 将输入的字符串以反序显示。例如:输入“ASDFGT”,显示“TGFDSA”
Dim i,a,b, n as string
n=inputbox(“输入字符”)
i=len(n)
for a=1 to i/2
b=mid(n,a,1)
Mid(n,a,1)=mid(n,i+1-a,1)
mid(n,i+1-a,1)=b
next a
print n
19 随机产生10个[30,100]内的整数,求最大值及所对应的下标
Dim a(0 to 9) as integer i% ,max%, imax%
for i=0 to 9
a(i)=int (r n d *71 +30)
print a(i);
next i
max=a(0)
imax=0
for i = 1 to 9
If a(i)> max then max =a(i):imax =i
next i
print “max=”; max,”imax=”;imax
20 随机产生10个[30,100]内的整数,求最大值、最小值和平均值。
Dim a(0 to 9) as integer i% ,max%, min% ,aver!
for i=0 to 9
a(i)=int (r n d *71 +30)
Next i
min=a(0)
max=a(0)
aver=a(0)
for i=1 to 9
if a(i)>max then max=a(i)
If a(i)aver=aver+a(i)
next i
for i=0 to 9
print a(i);
next i
print
Print “max=”;max,”min=”;min, “aver=”;aver/10
21 随机产生10个[30,100]内的整数,求最小值及所对应的下标。
Dim a(0 to 9) as integer i% ,min%, imin%
for i=0 to 9
a(i)=int (r n d *71 +30)
print a(i);
next i
min=a(0)
imin=0
for i = 1 to 9
If a(i)< min then min=a(i) : imin =i
next i
print “min=”; min,”imin=”;imin
22 随机生成一个整型的二维数组,范围在[10,20]之间,以下三角形式输出该数组。Dim a(4,4) as integer
for i=0 to 4
for j=0 to 4
a(i,j)=int(r nd*11+10)
next j
next i
For i=0 to 4
for i=0 to 4
print a(i,j);
next j
print
next i
23 随机产生10个1~100的正整数放入数组,显示产生的数,求最大值、最小值、平均值。Dim a(1 to 10) as integer,i%,max%,min%,aver%
for i=1 to 10
a(i)=int(r n d*100+1)
next i
Min=a(1)
max=a(1)
aver=a(1)
for i=2 to 10
if a(i)>max then max=a(i)
If a(i)aver=aver+a(i)
next i
print
print “max=”;max,”min=”;min,”aver=”;aver/10
24 利用随机函数生成一个4×4的矩阵的二维矩阵,范围是[20,50]内的整数,输出该矩阵所有数据之和
Dim a(2,3),sum%
for i=0 to 3
for j=0 to 3
a(i,j)=int(r n d*31+20)
next i
next j
For i =0 to 3
for j=0 to 3
print a(i,j);
next j
print
next i
for i=0 to 3
for j=0 to 3
Sum=sum+a(i,j)
next j
next i
print ”sum=”;sum
25已知有序数组a(),编程插入x(x的值为14)。数组a中的元素分别为{12,6,4,89,75,63,100,20,31}。
Dim a(),i%,k%,x%,n%
a=array(12,6,4,89,75,63,100,20,31)
n=ubound(a)
x=val(text1)
for k=0 to n
if xnext k
redim preserve a(n+1)
for i=n to k step -1
a(i+1)=a(i)
next i
a(k)=x
for i=0 to n+1
print a(i);
next i
26 编写一函数,计算Double类型一维数组所有元素的平均值。
Function avg( a()) as double
dim i%,s# m%,n%
s=0
m=Lbound(a);n=ubound(a)
for i=m to n
s=s+a(i)
next i
Avg=s/(n-m+1)
end function
27用函数过程求表达式1+1/2+1/3+1/4+…+1/n的和。
Function sum (n% ) as single
dim i%s!
S=0
for i=1 to n
S=s+1/i
next i
sum=s
end function
28 编一子过程ProcMin,求一维数组a中的最小值,子过程的形参自己确定。
Dim a(1 to 10),amin,i%
for i=1 to 10
a(i)=-int(r n d*101+300)
print a(i);
next i
Call s(a(),amin)
print
print”最小值”;amin
end sub
sub s(b(),min)
dim i%
min=b(1)
For i=2 to 9
if b(i)next i
29 编一个函数,求一维数组a中的最大值,函数的形参自己确定。
Function amax(a() as integer)
dim i%,max %
max=a(Lbound(a))
for i =Lbound(a)+ ubound(a)
if a(i)>max then max=a(i)
next i
amax= max
end function
30 编写一个程序,计算并输出区间[100,1000]内所有素数的和。要求:判断素数使用过程(函数或子过程)来实现。然后调用该过程求范围内各素数的和。
Function s%
dim m% ,tag as blooean,i%
M=val(x)
tag=ture
For i =2 to n-1
if n mod i=0 then tag=false
next i
If tag then s=x
end function
Private https://www.wendangku.net/doc/38469325.html,mand1_click()
Dim i%,k%
for i =101 to1000
If s(i) then list1.additem i
Next i
Sum=0
For k=0 to list.listcount-1
sum =sum+val(list1.list(k))
next k
Label1=”[100,1000]内所有素数和为:”&sum