新填空题1新 5.docx
- 文档编号:8399659
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:22
- 大小:59.38KB
新填空题1新 5.docx
《新填空题1新 5.docx》由会员分享,可在线阅读,更多相关《新填空题1新 5.docx(22页珍藏版)》请在冰豆网上搜索。
新填空题1新5
程序改错
1、题目:
下面程序的作用是产生100以内的全部素数,并按每行5个数据输出。
PrivateFunctionprime(ByValnAsInteger)
DimiAsInteger
prime=1
Ifn<=1Thenprime=0
'**********ERROR**********
Fori=2Ton-1
IfnModi=0Thenprime=0
Nexti
EndFunction
PrivateSubForm_Click()
DimiAsInteger,kAsInteger
k=0
Fori=1To100
Ifprime(i)=1Then
'**********ERROR**********
PrintTab((kMod5)*8);i;
k=k+1
'**********ERROR**********
IfkMod5=0ThenPrint;
EndIf
Nexti
EndSub
2、题目:
列表框应用程序。
要求从文本框中输入课程名称,然后按"添加"按钮,把姓名添加到列表框中;当选择列表框中某一项后,按"删除"按钮,则从列表框中删除该项;当选择列表框中某一项后,按"修改"按钮,把列表框中选取的项送往文本框且"修改"按钮变为"修改确认"。
在文本框的内容修改好后,按"修改确认"按钮,再把文本框中修改后的信息送到列表框且"修改确认"按钮变为"修改"。
PrivateSubForm_Load()
List1.AddItem"北京-上海"
List1.AddItem"北京-广州"
List1.AddItem"北京-四川"
List1.AddItem"北京-西安"
List1.AddItem"北京-哈尔滨"
List1.AddItem"北京-沈阳"
List1.AddItem"北京-长春"
EndSub
PrivateSubCommand1_Click()
IfText1.Text<>""Then
List1.AddItemText1.Text'将文本框中的内容加到列表框中
Text1.Text=""
Else
MsgBox"请在文本框中输入信息!
"
EndIf
EndSub
PrivateSubCommand2_Click()
'**********ERROR**********
IfList1.ListIndex=0ThenExitSub
List1.RemoveItemList1.ListIndex'删除选定的项目
EndSub
PrivateSubCommand3_Click()
IfCommand3.Caption="修改"Then
Text1.Text=List1.Text
Text1.SetFocus
Command1.Enabled=False
Command2.Enabled=False
'**********ERROR**********
Command3.Caption="修改确认"
Else
List1.List(List1.ListIndex)=Text1.Text
Command1.Enabled=True
Command2.Enabled=True
Text1.Text=""
'**********ERROR**********
Command3.Caption="修改"
EndIf
EndSub
3、题目:
产生30个小于100的成绩随机数,并统计出优、良、中等、及格、不及格数的个数,并计算出成绩属于优秀段的成绩平均分。
PrivateSubForm_Click()
Dimk%,a%,bjg%,jg%,zd%,lh%,yxAsInteger
DimpjfAsInteger
Randomize
pjf=0
Fork=1To30
'**********ERROR**********
a=Int(Rnd()*100)
SelectCasea
Case0To59
bjg=bjg+1'不及格
Case60To69
jg=jg+1'及格
Case70To79
zd=zd+1'中等
Case80To89
lh=lh+1'良好
Case90To100
yx=yx+1'优秀
'**********ERROR**********
pjf=pjf+a
EndSelect
Nextk
'**********ERROR**********
Ifyx>0Thenpjf=pjf/yx
Debug.Print"不及格"+Str$(bjg)+"人,及格"+Str$(jg)+"人,中等"+Str$(zd)+"人";
Debug.Print"良好"+Str$(lh)+"优秀"+Str$(yx)+"人"
Debug.Print"优秀分数段成绩平均分"&pjf
EndSub
4、题目:
使用顺序文件读写方式编写一个简单的记事本应用程序,基本逻辑是:
假设在考生目录中有一个名为exam.txt的文本文件。
当点击"打开"按(Command1)时,程序将exam.Txt文件中的内容显示在文本框(Text1)中,当点击"新建"按钮(Command2)时,清空Text1中的内容;用户可以在Text1中进行编辑操作,当点击"保存"按钮(Command3)时,将Text1中的内容保存在exam.txt文件中。
当点击"退出"按钮(Command4)时关闭本窗体。
PrivateSubCommand1_Click()
DimAAsString
Text1=""
Open"exam.txt"ForInputAs#1
DoWhileNotEOF
(1)
'**********ERROR**********
Input#1,A
Text1=Text1+A
Loop
'**********ERROR**********
Close#1
EndSub
PrivateSubCommand2_Click()
Text1=""
EndSub
PrivateSubCommand3_Click()
Open"exam.Txt"ForOutputAs#1
'**********ERROR**********
Write#1,Text1
Close#1
EndSub
PrivateSubCommand4_Click()
UnloadMe
EndSub
5、题目:
请修改程序中错误,保证程序最后输出效果如图1所示。
'
PrivateSubForm_Click()
DimiAsInteger
Fori=1To7
'**********ERROR**********
PrintSpc(7-i);
'**********ERROR**********
Ifi=1Then
Print"*"
Else
'**********ERROR**********
Print"*";Spc(2*(i-1)-1);"*"
EndIf
Nexti
EndSub
6、题目:
求s=1!
+3!
+5!
+7!
,阶乘的计算用Function过程fact实现.
PrivateSubForm_Click()
DimiAsInteger,sAsInteger
'**********ERROR**********
Fori=1To7Step2
s=s+fact(i)
Nexti
Prints
EndSub
'**********ERROR**********
PublicFunctionfact%(n%)
DimtAsInteger,iAsInteger
t=1
Fori=1Ton
t=t*i
Nexti
'**********ERROR**********
fact=t
EndFunction
7、题目:
以下程序段用于输出100-300的所有素数
PrivateSubForm_Click()
DimnAsInteger,kAsInteger,iAsInteger,switAsInteger
Forn=101To300Step2
k=Int(Sqr(n))
i=2
'**********ERROR**********
swit=0
'**********ERROR**********
Whilei<=kswit=0
IfnModi=0Then
swit=1
Else
'**********ERROR**********
i=i+1
EndIf
Wend
Ifswit=0Then
Printn;
EndIf
Nextn
EndSub
8、题目:
移动数组元素,将数组中某个位置的元素移动到指定位置.
FunctionfMove(a%(),L1%,L2%)
DimNAsInteger,iAsInteger,TAsInteger
'**********ERROR**********
N=UBound(a)
IfL2=N+1Then
'**********ERROR**********
a(N)=a(L2)
Fori=L1ToN
a(i)=a(i+1)
Nexti
Else
T=a(L1)
a(L1)=a(L2)
'**********ERROR**********
a(L2)=T
EndIf
EndFunction
PrivateSubForm_Click()
Dima%(1To5)
DimiAsInteger
Fori=1To5
a(i)=i
Next
fMovea,1,5
Fori=1To5
Printa(i)
Next
EndSub
9、题目:
用辗转相除法求两个整数的最大公约数。
Functiongcd(ByValmAsInteger,ByValnAsInteger)AsInteger
DimrAsInteger
r=mModn
DoWhiler<>0
'**********ERROR**********
m=n
n=r
r=mModn
Loop
'**********ERROR**********
gcd=n
EndFunction
PrivateSubForm_Click()
DimaAsInteger,bAsInteger,cAsInteger
a=InputBox("输入一个整数")
b=InputBox("输入一个整数")
a=Val(a)
b=Val(b)
'**********ERROR**********
c=gcd(a,b)
Printa,b,c
EndSub
10、题目:
以下程序段用于打印如图1所示的九九乘法表:
'
PrivateSubForm_Click()
DimiAsInteger,jAsInteger,kAsInteger
PrintTab(30);"9*9table"
Print:
Print"*";
Fori=1To9
'**********ERROR**********
PrintTab(i*6);i;
Nexti
Forj=1To9
Printj;"";
'**********ERROR**********
Fork=1Toj
'**********ERROR**********
PrintTab(k*6);j*k;"";
Nextk
Nextj
EndSub
11、题目:
下面的程序段用于删除数组中指定位置的数字,如果位置错误给出提示,否则分别显示删除前后的数组元素
PrivateSubForm_Click()
Dima(10)AsInteger,xAsInteger
DimiAsInteger,kAsInteger
Fori=1To10
a(i)=Int(Rnd*90)+10
Printa(i);
Nexti
x=InputBox("请输入要删除第几位数字")
'**********ERROR**********
Ifx>0Andx<=10Then
'**********ERROR**********
Fork=xTo9
'**********ERROR**********
a(k)=a(k+1)
Nextk
Print"删除后的数组:
"
Fori=1To9
Printa(i);
Nexti
Else
Print"删除位置错误"
EndIf
EndSub
12、题目:
输入两个正整数m和n,求其最大公约数。
PrivateSubForm_Click()
DimmAsInteger,nAsInteger,rAsInteger
m=InputBox("输入m的值:
")
n=InputBox("输入n的值:
")
DoWhilen<>0
'**********ERROR**********
r=mModn
m=n
'**********ERROR**********
n=r
Loop
'**********ERROR**********
Print"两数的最大公因子为:
"&n
EndSub
13、题目:
该程序实现将输入的0-255之间的正整数转
'换成二进制数
OptionExplicit
PrivateSubForm_Click()
Constn=8
Dima(n)AsInteger,sAsString,mAsInteger,xAsInteger
x=Val(InputBox("请输入一个0-255之间的正整数:
"))
Printx
'**********ERROR**********
Form=0Ton
a(m)=xMod2
'**********ERROR**********
x=x\2
Nextm
s=""
Form=nTo0Step-1
'**********ERROR**********
s=s+Str(a(m))
Nextm
Prints
EndSub
15、题目:
本程序的功能是随机产生的10个两位正整数,并进行递减排序。
PrivateSubCreateRND()
DimTempAsInteger
DimIAsInteger
DimNAsInteger
DimX(10)AsInteger
DimJAsInteger
N=10
Print"数据:
"
ForI=1ToN
'**********ERROR**********
X(I)=Int(10+Rnd()*90)
PrintX(I);
NextI
Print"排序:
"
ForI=0ToN-1
ForJ=I+1ToN
'**********ERROR**********
IfX(I) Temp=X(J) X(J)=X(I) X(I)=Temp EndIf NextJ PrintX(I); NextI Print EndSub PrivateSubCommand1_Click() CreateRND EndSub 16、题目: 以下程序段用于计算货物运费。 设货物运费每吨单价p元与运输距离s公里之间关系如图1 OptionExplicit PrivateSubForm_Click() Dimw! s! DimpAsCurrency,tAsCurrency w=InputBox("请输入货物重量") s=InputBox("请输入托运距离") SelectCases CaseIs<100 p=30 '**********ERROR********** CaseIs<200andIs>=100 p=27.5 CaseIs<300 p=25 CaseIs<400 p=32.5 '**********ERROR********** CaseELse p=20 '**********ERROR********** EndSelect t=p*w*s Print"总运费: ";t;"元" EndSub 17、题目: 下面程序用于将十个数字从小到大排序 OptionExplicit OptionBase1 PrivateSubForm_Click() Cls Dima(10)AsInteger DimiAsInteger,jAsInteger,tempAsInteger '**********ERROR********** Fori=1To10 IfiMod2=0Thena(i)=iElsea(i)=-i Printa(i); Next Print Fori=1To10 Forj=1To10-i '**********ERROR********** Ifa(j)>a(j+1)Then temp=a(j): a(j)=a(j+1): a(j+1)=temp EndIf '**********ERROR********** Nextj,i Fori=1To10 Printa(i); Next EndSub 18、题目: 输入一个字符串,将所有的小写字母都转换为大写字母。 PrivateSubForm_Click() Dims1AsString,s2AsString,iAsInteger,tAsString s1=InputBox("输入字符串,#号结束") i=1 '**********ERROR********** t=Mid(s1,i,1) Whilet<>"#" '**********ERROR********** Ift>="a"Andt<="z"Thent=Chr(Asc(t)-32) s2=s2+t i=i+1 t=Mid(s1,i,1) Wend '**********ERROR********** Print"新字符串为: ";s2 EndSub 19、题目: 单击"开始"命令按钮,秒表开始计时,单击"结束"命令按钮,秒表结束计时,并在标签框显示运行时间,如"运行了0小时2分10秒"。 DimxAsLong DimhAsInteger,mAsInteger,sAsInteger PrivateSubForm_Load() Form1.Caption="动态秒表(小时: 分: 秒)" Command1.Caption="开始[&S]" Command2.Caption="结束[&E]" Label1.Alignment=2 Label1.Caption="0: 0: 0" Timer1.Interval=1000 Timer1.Enabled=False x=0 EndSub PrivateSubCommand1_Click() '**********ERROR********** Timer1.Enabled=Ture EndSub PrivateSubCommand2_Click() '**********ERROR********** Timer1.Enabled=False x=0 Label1.Caption="运行了"+Str(h)+"小时"+Str(m)+"分"+Str(s)+"秒" EndSub PrivateSubTimer1_Timer() x=x+1 h=x\3600 m=(xMod3600)\60 '**********ERROR********** s=(xMod3600)\3600 Label1.Caption=Str(h)+": "+Str(m)+": "+Str(s) EndSub 20、题目: 下面的程序用"冒泡"法完成数组a中的10个整数按升序排列,请修正程序中错误。 PrivateSubCommand1_Click() Dima DimiAsInteger,jAsInteger,a1AsInteger a=Array(-2,5,24,58,43,-10,87,75,27,83) Fori=1To9 '**********ERROR********** Forj=i+1To9 '**********ERROR**********
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 新填空题1新 填空