上海海事大学VB程序改错40题Word下载.docx
《上海海事大学VB程序改错40题Word下载.docx》由会员分享,可在线阅读,更多相关《上海海事大学VB程序改错40题Word下载.docx(59页珍藏版)》请在冰豆网上搜索。
x=x\2
=========或=========
x=int(x/2)
=======(答案3)=======
s=s+Str(a(m))
第3题(1.0分)题号:
463
以下程序功能是输入三个数,由大到小排序。
DimAAsInteger
DimBAsInteger
DimCAsInteger
DimnTempAsInteger
A=Val(InputBox("
Pleaseinputfirstinteger"
"
输入正整数"
B=Val(InputBox("
Pleaseinputsecondinteger"
C=Val(InputBox("
Pleaseinputthirdinteger"
'
IfA<
=CThen
nTemp=A
A=B
B=nTemp
EndIf
IfB<
A=C
C=nTemp
=BThen
nTemp=B
B=C
Print"
Theintegersinorderis"
;
A;
B;
C
EndSub
IfA<
IfB>
=AThen
IfC>
IfB<
第4题(1.0分)题号:
127
下面程序可输出如下图形:
*
***
*****
*******
*********
DimmAsInteger,nAsInteger,sAsString,iAsInteger,jAsInteger
n=4
m=1
s="
*"
Fori=5To1Step-1
PrintSpc(n)
Forj=1To2*m-1
Prints;
Nextj
Print
n=n+1
m=m-1
Nexti
PrintSpc(n);
PrintSpc(i);
?
Spc(n);
Spc(i);
n=n-1
n=-1+n
m=m+1
第5题(1.0分)题号:
469
已知一个函数f(x)=1000*sin(x),利用绘图方法
在图片框中显示其图形。
结果如图1
PrivateConstpi=3.14159
PrivateSubCommand1_Click()
DimxAsInteger
Picture1.Scale(-pi,-1200)-(pi,1200)
Forx=-piTopiSteppi
Picture1.PSet(x,1000*pi*Sin(x)),vbRed
Nextx
DimxAsSingle
Dimx!
Forx=-piTopiSteppi/180
Picture1.PSet(x,1000*Sin(x)),vbRed
Picture1.PSet(x,Sin(x)*1000),vbRed
第6题(1.0分)题号:
497
题目:
编程求一个十进制整数n的各位数字之和,设n为小于或等于5位的数。
DimNAsInteger,SumAsInteger,S1AsString,S2AsString
DimiAsInteger,ChAsString
Sum=0
N=InputBox("
输入整数n"
)
S1=Str(N)
S1=RTrim(S1)
Fori=1ToLen(S1)
Ch=Mid(N,i,1)
Sum=Val(Ch)
Nexti
该整数的各位数之和是:
Sum
S1=Trim(S1)
S1=lTrim(S1)
Ch=Mid(S1,i,1)
Sum=Sum+Val(Ch)
第7题(1.0分)题号:
454
本程序的功能是随机产生的10个两位正整数,并进行递减排序。
PrivateSubCreateRND()
DimTempAsInteger
DimIAsInteger
DimNAsInteger
DimX(10)AsInteger
DimJAsInteger
N=10
数据:
ForI=1ToN
X(I)=Int(Rnd()*90)
PrintX(I);
NextI
排序:
ForI=0ToN-1
ForJ=I+1ToN
IfX(I)>
X(J)Then
Temp=X(I)
X(J)=X(I)
X(I)=Temp
NextJ
CreateRND
X(I)=Int(10+Rnd()*90)
IfX(I)<
=X(J)Then
IfX(J)>
X(I)Then
=X(I)Then
temp=X(J)
第9题(1.0分)题号:
130
以下程序段用于计算5的N次方。
DimnAsInteger,kAsInteger,sAsLong
n=InputBox("
Inputn"
k=0
s=0
DoWhilek<
=n
s=s*5
k=k+1
Next
5的"
n次方是"
s
k=1
s=1
Loop
第11题(1.0分)题号:
452
用自定义函数的方法求sum(x),求当-1≤x≤1时,
sum(x)=x/2!
+x^2/3!
+x^3/4!
+……+x^n/(n+1)!
,
当x〉1或x〈-1时,函数值为0。
当n〈=0时,输入数
据错误。
X、N都是由用户输入。
DimsAsSingle
DimnAsInteger,xAsSingle,kAsInteger
n=Val(InputBox("
Pleaseinputaintegervalue:
Pleaseinputasinglevalue:
Ifn<
=0Then
k=MsgBox("
数据输入错误!
vbRetryCancel+vbExclamation,"
数据输入"
ExitSub
s=Sum(x,n)
FunctionSum(xAsSingle,nAsInteger)
DimiAsInteger,ssAsLong
ss=1
Ifx>
1Orx<
-1Then
ExitDo
Else
Fori=2Ton
ss=ss*i
Sum=x^(i-1)/ss
EndFunction
exitFunction
Fori=2Ton+1
Fori=2To1+n
sum=sum+x^(i-1)/ss
第14题(1.0分)题号:
136
程序功能为打印下列图形:
**
****
Cls
DimiAsInteger
DimjAsInteger
Fori=1To7
Forj=1To5
Loop
Print
Fori=1To5
Forj=1Toi
Nextj
Next
第16题(1.0分)题号:
461
产生30个小于100的成绩随机数,并统计出优、良
、中等、及格、不及格数的个数,并计算出成绩属
于优秀段的成绩平均分。
Dimk%,a%,bjg%,jg%,zd%,lh%,yxAsInteger
DimpjfAsInteger
Randomize
pjf=0
Fork=1To30
a=Int(Rnd())
SelectCasea
Case0To59
bjg=bjg+1'
不及格
Case60To69
jg=jg+1'
及格
Case70To79
zd=zd+1'
中等
Case80To89
lh=lh+1'
良好
Case90To100
yx=yx+1'
优秀
pjf=pjf+1
EndSelect
Nextk
Ifyx>
0Thenpjf=pjf/30
Debug.Print"
不及格"
+Str$(bjg)+"
人,及格"
+Str$(jg)+"
人,中等"
+Str$(zd)+"
人"
良好"
+Str$(lh)+"
优秀"
+Str$(yx)+"
优秀分数段成绩平均分"
&
pjf
a=Int(Rnd()*100)
a=Int(Rnd*100)
pjf=pjf+a
Ifyx>
0Thenpjf=pjf/yx
第17题(1.0分)题号:
456
挑选单数并排序程序:
程序启动后由计算机自动产
生20个属于[100,300]之间的随机整数,单击"
显
示全体"
按钮时,在Form1上显示这20个随机数;
单击"
显示奇数"
按钮时,在Form1上显示其中的奇数;
排序"
按钮时,在Form1上将这些奇数从小到大显示。
要求显示格式为每行显示5个数据。
Privatea(20)AsInteger,b(20)AsInteger
PrivatekAsInteger
PrivateSubcmdodd_Click()
DimIAsInteger
k=0
ForI=1To20
Ifa(I)/2=Int(a(I)/2)Then
b(k)=a(I)
NextI
ForI=1Tok
Printb(I);
IfInt(I/5)<
>
I/5ThenPrint
PrivateSubcmdAll_Click()
ForI=1To20
a(I)=Int(Rnd()*20+100)
Printa(I),
IfInt(I/5)=I/5ThenPrint
PrivateSubcmdsort_Click()
ForI=1Tok-1
ForJ=ITok
Ifb(I)>
b(J)ThenTemp=b(I):
b(I)=b(J):
b(J)=Temp