Nextj
'**********SPACE**********
If【?
】Then
min=a(i):
a(i)=a(t):
a(t)=min
EndIf
Nexti
Fori=1Ton
Printa(i);
Nexti
EndSub
『答案』
1Int(91*Rnd)+10
2t=i
3t<>I
●下面的程序段用于实现以下功能:
利用冒泡法将一组整数从小到大排序。
PrivateSubForm_Click()
Constn=15
Dima(1Ton)AsInteger,workAsBoolean
DimiAsInteger,jAsInteger,xAsInteger
Randomize
Fori=1Ton
a(i)=Int(90*Rnd)+10
Nexti
Fori=1Ton
Printa(i);
Nexti
Print
'**********SPACE**********
Fori=nTo2【?
】
work=True
Forj=1Toi-1
Ifa(j)>a(j+1)Then
x=a(j):
a(j)=a(j+1):
a(j+1)=x
'**********SPACE**********
【?
】
EndIf
Nextj
'**********SPACE**********
IfworkThen【?
】
Nexti
Fori=1Ton
Printa(i);
Nexti
EndSub
『答案』
1Step-1
2work=False或work=0
3ExitFor
●以下程序的功能如图。
PrivateSubForm_Click()
DimsAsSingle,mAsInteger,p#
s=1
Form=1To10
'**********SPACE**********
p=N(M)【?
】
s=s+1/p
Nextm
Prints
EndSub
Functionn(k%)
p=1
Form=1Tok
'**********SPACE**********
p=P*M
Nextm
'**********SPACE**********
【?
】N=P
EndFunction
『答案』
1n(m)
2p*m
3n=p
●下面的程序段用于求矩阵相乘C=A×B,设A、B、C分别为m×p、p×n、m×n的矩阵。
PrivateSubForm_Click()
Constm=4,p=3,n=2
Dima(1Tom,1Top)AsInteger
Dimb(1Top,1Ton)AsInteger
Dimc(1Tom,1Ton)AsInteger
DimiAsInteger,jAsInteger,kAsInteger,sumAsInteger
Fori=1Tom
Fork=1Top
a(i,k)=i
Nextk
Nexti
Fori=1Top
Fork=1Ton
b(i,k)=i
Nextk
Nexti
Fori=1Tom
Forj=1Ton
'**********SPACE**********
【?
】
Fork=1Top
'**********SPACE**********
sum=sum+【?
】
Nextk
'**********SPACE**********
c(i,j)=【?
】
Nextj,i
Print"输出矩阵"
Fori=1Tom
Fork=1Ton
Printc(i,k),
Nextk
Print
Nexti
EndSub
『答案』
1sum=0
2a(i,k)*b(k,j)
3sum
●从键盘输入学生分数,统计学生总人数和各分数段人数,即优秀(90-100)、良好(80-89)、中等(70-79)、及格(60-69)、不及格(60以下)的人数。
PrivateSubForm_Click()
Dimscore%,n1%,n2%,n3%,n4%,n5%
msg="请输入分数(-1结束)"
msgtitile="输入数据"
‘’score=Val(InputBox(msg,msgtitle))
'**********SPACE**********
While【?
】
total=total+1
'**********SPACE**********
SelectCase【?
】
CaseIs>=90
n1=n1+1
CaseIs>=80
n2=n2+1
CaseIs>=70
n3=n3+1
CaseIs>=60
n4=n4+1
CaseElse
n5=n5+1
'**********SPACE**********
【?
】
score=Val(InputBox(msg,msgtitle))
Wend
Printn1,n2,n3,n4,n5,total
EndSub
『答案』
1score>=0Andscore<=100或0<=scoreAndscore<=100或0<=scoreAnd100>=score或score>=0And100>=score
2score
3EndSelect
●以下程序段用于实现:
输入两个正整数m和n,求其最大公因数和最小公倍数。
'-------------------------------------------------------
PrivateSubForm_Click()
Dima%,b%,num1%,num2%,temp
num1=InputBox("请输入一个正整数")
num2=InputBox("请输入一个正整数")
'**********SPACE**********
If【?
】Then
temp=num1:
num1=num2:
num2=temp
EndIf
a=num1
b=num2
'**********SPACE**********
DoWhile【?
】
temp=aModb
a=b
'**********SPACE**********
【?
】
Loop
Print"最大公因数为:
";a
Print"最小公倍数为:
";num1*num2/a
EndSub
『答案』
1num1num1
2b<>0或b>0或0
3b=temp
●利用下面的过程求m!
和m*n
PrivateSubForm_Click()
DimmAsInteger,nAsInteger
m=2
n=3
'**********SPACE**********
【?
】
EndSub
PrivateSubfind(xAsInteger,yAsInteger)
Dims,iAsInteger
'**********SPACE**********
S=1
Fori=1Tox
s=s*i
'**********SPACE**********
p=p+y
Nexti
Prints,p
EndSub
『答案』
1findm,n
2s=1或s=1:
p=0
3p+y
●以下程序段用于求∑n!
PrivateSubForm_Click()
DimsumAsInteger,nAsInteger
n=InputBox("请输入一个正整数")
sum=0
Fori=1Ton
'**********SPACE**********
sum=【?
】
Nexti
Printsum
EndSub
PrivateFunctionmul(ByValxAsInteger)
DimsAsInteger,iAsInteger
s=1
'**********SPACE**********
Fori=1To【?
】
s=s*i
Nexti
'**********SPACE**********
【?
】
EndFunction
『答案』
1sum+mul(i)
2x
3mul=s
●从键盘上输入一串字符,以"?
"结束,统计输入字符中的大、小写字母和数字的个数。
PrivateSubForm_Click()
Dimch$,n1%,n2%,n3%
n1=0
n2=0
n3=0
ch=InputBox("请输入一个字符")
'**********SPACE**********
DoWhile【?
】
SelectCasech
Case"a"To"z"
n1=n1+1
'**********SPACE**********
Case【?
】
n2=n2+1
Case"0"To"9"
n3=n3+1
EndSelect
ch=InputBox("请输入一个字符")
'**********SPACE**********
【?
】
Printn1,n2,n3
EndSub
『答案』
1ch<>"?
"或notch="?
"
2"A"To"Z"
3Loop
●下面的程序段用于建立文件并输出文件,文件内容如下:
*****
'*****
'*****
'*****
'*****
PrivateSubForm_Click()
'**********SPACE**********
Open"c:
\1.txt"For【?
】As#1
Fori=1To5
Print#1,Spc(i);"*****"
Nexti
'**********SPACE**********
【?
】
'**********SPACE**********
Open"c:
\1.txt"For【?
】As#1
Fori=1To5
LineInput#1,x
Printx
Nexti
Close#1
EndSub
『答案』
1Output
2Close#1或Close
3Input
●下面的程序段用于打印出以下图形
'
*
***
*****
*******
*****
***
*
PrivateSubForm_Click()
Dimi%,j%,k%
Fori=0To3
Forj=0To2-i
Print"";
Nextj
'**********SPACE**********
Fork=1To【?
】
Print"*";
Nextk
Print
Nexti
Fori=0To2
Forj=0Toi
'**********SPACE**********
【?
】
Nextj
Fork=0To4-2*i
Print"*";
Nextk
'**********SPACE**********
【?
】
Nexti
EndSub
『答案』
12*i+1
2Print"";
3Print
●下面的程序实现:
从键盘输入一个数字,将其插入一个有序数组中,插入后的数组仍保持有序。
'-------------------------------------------------------
PrivateSubForm_Click()
Dima(10)AsInteger,xAsInteger
Fori=1To8
a(i)=2*i-1
Printa(i);
Nexti
Print
x=InputBox("请输入要插入的整数")
'**********SPACE**********
【?
】
i=8
DoWhilea(i)>x
'**********SPACE**********
【?
】
i=i-1
Loop
'**********SPACE**********
Ifi>0Then【?
】
Fori=1To9
Printa(i);
Nexti
EndSub
『答案』
1a(0)=x
2a(i+1)=a(i)
3a(i+1)=x
●本程序用于实现:
从键盘接收一数字,判断其是否在数组中,如果在数组中则将其删除,否则显示该数字不在数组中。
PrivateSubForm_Click()
Dima(10)AsInteger,xAsInteger
Fori=1To10
a(i)=Int(Rnd*90)+10
Printa(i);
Nexti
Print
x=InputBox("请输入要删除的整数")
Fori=1To10
'**********S