郑州轻院VB综合题Word格式.docx
《郑州轻院VB综合题Word格式.docx》由会员分享,可在线阅读,更多相关《郑州轻院VB综合题Word格式.docx(15页珍藏版)》请在冰豆网上搜索。
Dimm,i,tAsInteger
Dimstr1AsString
m=Val(InputBox("
m"
))
str1="
a(i)=Val(InputBox("
inputa"
t=a(m)
Fori=m-1To0Step-1
a(i+1)=a(i)
a(0)=t
str1=str1+Str(a(i))
MsgBox(str1)
EndSub
编写程序,实现一维数组A(M)元素值循环右移2位。
A=(12345)右移后,A=(45123)
Dimm,i,j,tAsInteger
Fori=1To2
Forj=m-1To0Step-1
a(j+1)=a(j)
nexti
编写程序,实现一维数组A(M)元素值的循环左移3位。
A=(12345)左移后,A=(45123)
PrivateSubButton8_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton8.Click
Dima()AsInteger={1,2,3,4,5,6,7,8,9,10}
Dimi,j,tAsInteger
Fori=1To3
Forj=1To9
a(j-1)=a(j)
a(9)=t
Fori=0To9
编写程序,求一个十进制整数N的各位数字之和。
PrivateSubButton2_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton2.Click
Dimn,sAsInteger
n=InputBox("
请输入n:
s=0
DoWhilen>
0
s=s+nMod10
n=n\10
Loop
TextBox1.Text=s
编写程序,输入一段英文,统计26个字母出现的频率,并按其出现频率由高到低排序输出。
PrivateSubButton3_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton3.Click
Dimcs(26),i,jAsInteger
Dimpl(26),fAsDouble
Dimch,st,tc,zm(26)AsString
ch=Lcase(InputBox("
请输入一个串:
Fori=1To26
cs(i)=0
pl(i)=0
zm(i)=Chr(96+i)
Fori=1ToLen(ch)
cs(Asc(Mid(ch,i,1))-Asc("
a"
)+1)=cs(Asc(Mid(ch,i,1))-Asc("
)+1)+1
pl(i)=cs(i)/Len(ch)
Fori=1To25
Forj=1To26-i
Ifpl(j)<
pl(j+1)Then
f=pl(j)
pl(j)=pl(j+1)
pl(j+1)=f
tc=zm(j)
zm(j)=zm(j+1)
zm(j+1)=tc
EndIf
‘另一种排序算法
Fori=1To25
st=st+zm(i)
‘另解
Dima(25)AsString
Dimb(25),i,j,n,p,mAsInteger
Dimstr1,str2,str3,str4AsString
str1=lcase(InputBox("
inputastring"
n=Len(str1)
a(0)="
Fori=1To25
a(i)=Chr(Asc(a(0))+i)
Forj=1Ton
str2=Mid(str1,j,1)
Fori=0To25
Ifa(i)=str2Then
b(i)=b(i)+1
ExitFor
Fori=0To24
p=i
Forj=i+1To25
Ifb(p)<
b(j)Thenp=j
Nextj
Ifp<
>
iThen
m=b(i)
b(i)=b(p)
b(p)=m
str3=a(i)
a(i)=a(p)
a(p)=str3
Nexti
Ifb(i)>
0Then
str4=str4+a(i)+"
"
MsgBox(str4)
编写程序,从键盘输入N个字符串,将字符串按从小到大的顺序排列并输出。
PrivateSubButton4_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton4.Click
Dims(),t,stAsString
Dimi,n,jAsInteger
请输入n的值:
ReDims(n)
Fori=1Ton
s(i)=InputBox("
请输入串s("
)"
Fori=1Ton-1
Forj=1Ton-i
Ifs(j)>
s(j+1)Then
t=s(j)
s(j)=s(j+1)
s(j+1)=t
st=st+s(i)+Chr(13)+Chr(10)
编写程序,从键盘输入一个字符串,分别统计字母“M”和“m”在其中出现的次数。
Dimstr1,str2AsString
Dimi,n,n1,n2AsInteger
str1=InputBox("
n1=0
n2=0
str2=Mid(str1,i,1)
Ifstr2="
M"
Thenn1=n1+1
Thenn2=n2+1
MsgBox("
M出现"
+Str(n1)+"
次,"
+"
m出现"
+Str(n2)+"
次"
编写程序,建立一个有10个元素组成的一维数组(数据自定,并已按降序排列),要求从键盘输入一个数据,并将其插入到数组适当位置,即插入后的数组仍按降序排列。
PrivateSubButton5_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton5.Click
Dima()AsInteger={121,110,108,100,90,80,70,50,40,20}
Dimi,xAsInteger
ReDimPreservea(10)
x=InputBox("
请输入x:
Fori=9To0Step-1
Ifa(i)<
xThen
Else
a(i+1)=x
Fori=0To10
编写程序,从键盘输入一批(不少于10个)任意数据,去掉其中的最大数和最小数,求剩余数据的平均值。
PrivateSubButton6_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton6.Click
Dimt,min,max,gs,sumAsDouble
DimiAsInteger
t=InputBox("
请输入一个数据:
gs=1
sum=t
max=t
min=t
Fori=1To13
Ift<
minThen
Ift>
maxThen
sum=sum+t
gs=gs+1
sum=sum-min-max
sum=sum/(gs-2)
TextBox1.Text=sum
编写程序,从键盘输入一批(不少于10个)任意数据,求这些数据中的最大数、最小数和平均值,并将统计结果保存到一个数据文件(数据文件不需要上传)中。
Dimmax,min,sum,n,iAsInteger
DimaverAsDouble
n=Val(InputBox("
inputthenumberofdata"
ReDima(n-1)
a(0)=Val(InputBox("
inputadata"
max=a(0)
min=a(0)
sum=a(0)
sum=sum+a(i)
Ifa(i)>
maxThenmax=a(i)
minThenmin=a(i)
aver=sum/n
FileOpen(1,"
d:
\da1.dat"
OpenMode.Output)
WriteLine(1,max,min,aver)
FileClose
(1)
编写程序,建立一个5×
5的二维数组(数据自定或由程序随机产生),分别计算两条对角线上的元素之和,并找出第3列元素中的最大者。
PrivateSubButton7_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton7.Click
Dima(4,4),max,sum,i,jAsInteger
Fori=0To4
Forj=0To4
a(i,j)=1000*Rnd()
sum=0
sum=sum+a(i,i)+a(i,4-i)
max=a(0,2)
Forj=1To4
Ifa(j,2)>
max=a(j,2)
TextBox2.Text=max
编写程序,自己产生一个二维数组A(N,N),(N取5),计算数组中每一列数据的平均值。
PrivateSubButton11_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton11.Click
Dima(5,5),i,jAsInteger
Dimb(5)AsDouble
Fori=1To5
Forj=1To5
b(i)=0
b(i)=b(i)+a(j,i)
b(i)=b(i)/5
st=st+Str(b(i))
编写程序,建立一个6×
6的二维数组(数据自定或由程序随机产生),输出数组中的最大元素,并统计最大元素所在行的所有元素之乘积。
PrivateSubButton10_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton10.Click
Dima(5,5),max,cj,i,j,rowAsLong
Fori=0To5
Forj=0To5
a(i,j)=100*Rnd()
max=a(0,0)
row=0
If(a(i,j)>
max)Then
max=a(i,j)
row=i
cj=1
cj=cj*a(row,j)
TextBox1.Text=max
TextBox2.Text=cj
编写程序,建立一个4×
6的二维数组(数据自定或由程序随机产生),求各行最大元素之和。
Dima(3,5),b(3)AsInteger
Dimi,j,sAsInteger
Randomize()
Fori=0To3
a(i,j)=Int(Rnd()*101)
str1=str1+Str(a(i,j))+"
str1=str1+Chr(13)+Chr(10)
b(i)=a(i,0)
Ifb(i)<
a(i,j)Thenb(i)=a(i,j)
s=s+b(i)
MsgBox(str1+Chr(13)+Chr(10)+"
各行最大元素之和:
+Str(s))
6的二维数组(数据自定或由程序随机产生),输出数组中的最大元素,并显示其下标位置。
Dima(3,5)AsInteger
Dimi,j,max,p,qAsInteger
p=0
q=0
Ifmax<
a(i,j)Then
q=j
p=p+1
q=q+1
str1=str1+"
最大元素为"
+Str(max)+Chr(13)+Chr(10)+"
位于第"
+Str(p)+"
行,第"
+Str(q)+"
列"