程序填空.docx

上传人:b****3 文档编号:26838361 上传时间:2023-06-23 格式:DOCX 页数:19 大小:58.04KB
下载 相关 举报
程序填空.docx_第1页
第1页 / 共19页
程序填空.docx_第2页
第2页 / 共19页
程序填空.docx_第3页
第3页 / 共19页
程序填空.docx_第4页
第4页 / 共19页
程序填空.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

程序填空.docx

《程序填空.docx》由会员分享,可在线阅读,更多相关《程序填空.docx(19页珍藏版)》请在冰豆网上搜索。

程序填空.docx

程序填空

三、程序填空

1、检查在文本框中输入的圆括号是否配对。

输入回车符表示输入结束,显示有关信息。

Dimcount1%

SubTextBox1_KeyPress(ByValsenderAsObject,ByValeAs_

System.Windows.Forms.KeyPressEventArgs)HandlesTextBox1.KeyPress

If

(1)Then‘从e获得键入的字符

count1=count1+1

ElseIf

(2)=")"Then

count1=(3)

EndIf

IfAsc(e.KeyChar)=13Then

If(4)Then

MsgBox("左右括号配对")

ElseIfcount1>0Then

MsgBox("左括号多于右括号"&(5)&"个")

Else

MsgBox("右括号多于左括号"&-count1&"个")

EndIf

ExitSub

EndIf

EndSub

2、在文本框中输入若干字符,统计元音字母和其他字母的个数,不区分大小写。

输入回车符结束,显示有关信息。

DimcountY%,countC%

PrivateSubTextBox1_KeyPress(ByValsenderAsObject,ByValeAs_

System.Windows.Forms.KeyPressEventArgs)HandlesTextBox1.KeyPress

DimcAsChar

c=(6)

If"A"<=cAndc<="Z"Then

SelectCase(7)

Case(8)‘元音字母

countY=countY+1

CaseElse

countC=countC+1

EndSelect

EndIf

If(9)Then‘判断是否按回车键

MsgBox("元音字母有"&countY&"个")

MsgBox("其他字母有"&countC&"个")

EndIf

EndSub

3、输入额外难以长度的字符串,要求将字符顺序倒置。

例如,输入“ABCDEFG”,输出“GFEDCBA”。

PrivateSubForm1_Click(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesMyBase.Click

Dima$,i%,c$,d$,n%

a=InputBox$("请输入:

")

n=(10)

Fori=1To(11)

c=Mid(a,i,1)

Mid(a,i,1)=(12)

(13)=c

Next

MsgBox(a)

EndSub

4、找出被3、5、7除,余数为1的最小的5个正整数。

PrivateSubForm1_Click(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesMyBase.Click

DimcountN%,n%

countN=0

n=1

Do

n=n+1

If(14)Then

MsgBox(n)

countN=countN+1

EndIf

Loop(15)

EndSub

5、有7个评委对一参赛者打分,去掉一个最高分、去掉一个最低分,求出的平均分即是该参赛者的得分。

PrivateSubForm1_Click(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesMyBase.Click

Dimmark!

aver!

i%,max1!

min1!

aver=0

Fori=1To7

mark=InputBox("请输入第"&i&"位评委的打分")

Ifi=1Then

max1=mark

(16)

Else

Ifmark

(17)

ElseIfmark>max1Then

(18)

EndIf

EndIf

(19)

Next

aver=(20)

MsgBox(aver)

EndSub

6、删除数组a中指定的元素。

PrivateSubForm1_Click(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesMyBase.Click

Dima()AsInteger={1,6,8,3,5,9,10,2,7,4},key%,i%,j%

key=InputBox("请输入要删除的值")

Fori=0ToUBound(a)

If(21)Then

Forj=i+1ToUBound(a)

(22)

Next

ReDim(23)

MsgBox("删除完成")

ExitSub

EndIf

Next

MsgBox("找不到要删除的元素")

EndSub

7、将输入的一个数插入到按递减的有序数列中,插入后该序列仍有序并显示在标签框Label1上。

PrivateSubForm1_Click(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesMyBase.Click

Dimi%,n%,m%

Dima()AsInteger={19,17,15,13,11,9,7,5,3,1}

Label1.Text=""

n=UBound(a)

ReDim(24)

m=InputBox("请输入需插入的数")

Fori=UBound(a)-1To0Step-1

Ifm>=a(i)Then

(25)

Ifi=0Thena(i)=m

Else

(26)

ExitFor

EndIf

Next

Fori=0To(27)

label1.text&=a(i)&""

Next

EndSub

8、随机产生15个不重复的A--Z大写英文字母,存放在字符数组中并显示在标签框Label1上。

PrivateSubForm1_Click(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesMyBase.Click

Dims(14)AsChar,cAsChar,n%,j%

Label1.Text=""

s(0)=Chr(Int(Rnd()*26+65))

Forn=1To14

re:

c=(28)

Forj=0To(29)‘若找到有重复字母,重新产生

Ifs(j)=cThen(30)

Next

s(n)=(31)‘没有重复的则加到数组中

Next

Forj=0To14

Label1.Text&=s(j)&""

Next

EndSub

9、两质数的差为2,则此对质数为质数对。

下列程序找出100以内的质数对,并在标签框上成对显示。

函数IsP判断参数m是否为质数。

PublicFunctionIsP(ByValm)AsBoolean

Dimi%

(32)

Fori=2ToInt(Math.Sqrt(m))

If(33)ThenIsP=False

Next

EndFunction

PrivateSubForm1_Click……

DimiAsInteger,p1,p2AsBoolean

Label1.Text=""

p1=IsP(3)

Fori=5To100Step2

p2=IsP(i)

If(34)ThenLabel1.Text&=i-2&""&i&","

p1=(35)

Next

EndSub

10、子过程MoveStr()是把字符数组移动m个位置。

当Tag为True,左移,则前m个字符移到字符数组尾,例如,“abcdefghij”左移三个位置后,结果为“defghijabc”;当Tag为False,右移,则后m个字符移到字符数组前,如“abcdefghij”右移三个位置后,结果为“hijabcdefg”。

SubMoveStr(ByRefa$(),ByValm%,ByValTagAsBoolean)

Dimi%,j%,t$

If(36)Then

Fori=1Tom

(37)

Forj=0To(38)

a(j)=a(j+1)

Next

(39)

Next

Else

Fori=1Tom

(40)

Forj=UBound(a)(41)

a(j)=a(j-1)

Next

(42)

Next

EndIf

EndSub

11、子过程Mysplit(s,sArray(),n)用于实现函数Split()的功能(字符分离到数组),即将数字字符串s按分隔符“,”分离到sArray数组中,分离的个数为n。

主调程序将文本框输入的数字字符串进行分离,结果在TextBox2控件中显示。

PrivateSubForm1_Click(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesMyBase.Click

Dimstr1AsString,num(100)AsInteger,n%,i%

str1=Trim(TextBox1.Text)

CallMySplit(str1,num,n)

TextBox2.Text=""

Fori=0Ton

TextBox2.Text&=num(i)&vbCrLf

Next

EndSub

SubMySplit(ByValstr1AsString,ByRefsn()AsInteger,ByRefnAsInteger)

Dimi%,j%,ch$

i=0

j=InStr(str1,",")

DoWhilej>0

sn(i)=Val((43))

str1=Mid(str1,j+1)

i=i+1

j=(44)

Loop

sn(i)=Val(str1)

n=(45)

EndSub

12、以下过程将一个有序数组中重复出现的数删除,删到只剩一个。

运行后结果如图。

PrivateSubForm1_Click(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesMyBase.Click

Dimb()AsInteger={23,45,45,60,70,70,70,90},i%,n%

label1.text=""

Callp(b,n)'n是删除后数组上界

Fori=0Ton

label1.text&=b(i)&""

Next

EndSub

Subp((46))

Dimm%,k%

n=UBound(a)

m=n

DoWhile(47)'从右往左比较

Ifa(m)=a(m-1)Then

Fork=(48)

a(k-1)=a(k)

Next

n=(49)

EndIf

m=(50)

Loop

ReDimPreservea(n)

EndSub

13、以下是一个学生成绩录入程序,功能有:

(1)文本框中能输入数字。

(2)当焦点离开文本框时,能检查录入的成绩是否有效:

若成绩不在0——100之间,则清除原输入的数据,并要求重新输入。

(3)若文本框左边的复选框未被选定,则文本框不能输入成绩且不参加计算总分和平均成绩。

PrivateSubForm1_Load(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesMyBase.Load

Me.KeyPreview=(51)

EndSub

PrivateSubForm1_KeyPress(ByValsenderAsObject,ByValeAs_

System.Windows.Forms.KeyPressEventArgs)HandlesMyBase.KeyPress

Ife.KeyChar<"0"Ore.KeyChar>"9"Then

(52)

EndIf

EndSub

 

PrivateSubCheckBox1_CheckedChanged……

TextBox1.Enabled=(53)

EndSub

PrivateSubCheckBox2_CheckedChanged……

TextBox2.Enabled=(54)

EndSub

PrivateSubCheckBox3_CheckedChanged……

TextBox3.Enabled=(55)

EndSub

PrivateSubTextBox1_Leave……

IfVal(TextBox1.Text)<0OrVal(TextBox1.Text)>100Then

TextBox1.Text=""

(56)

EndIf

EndSub

PrivateSubTextBox2_Leave……

IfVal(TextBox2.Text)<0OrVal(TextBox2.Text)>100Then

TextBox2.Text=""

(57)

EndIf

EndSub

PrivateSubTextBox3_Leave……

IfVal(TextBox3.Text)<0OrVal(TextBox3.Text)>100Then

TextBox3.Text=""

(58)

EndIf

EndSub

PrivateSubButton1_Click……

DimTotalAsInteger=0,CountAsInteger=0

IfCheckBox1.CheckedThen

Total=Total+Val(TextBox1.Text)

Count=Count+1

EndIf

IfCheckBox2.CheckedThen

Total=Total+Val(TextBox2.Text)

Count=Count+1

EndIf

IfCheckBox3.CheckedThen

Total=Total+Val(TextBox3.Text)

Count=Count+1

EndIf

(59)

TextBox5.Text=Total/Count

EndSub

14、多窗体操作、菜单操作、定时器、对话框

1)在主窗体上放置一个图像框;在主窗体上单击右键,弹出快捷菜单如下图左;

2)选择“开始移动”,图像反复从左到右移动,并弹出“统计结果”窗体(下图右);

3)选择“停止移动”,图像停止移动并关闭“统计结果”窗体;

4)选择“更换图像”,弹出“打开文件”对话框,选择新的图像;

5)在“统计结果”窗体上设置控件如图:

2个文本框、4个标签框;

6)添加模块。

ModuleModule1

Publicf2AsNewform2()

EndModule

PrivateSubMenuItem1_Click(ByValsenderAsObject,ByValeAsSystem.EventArgs)Handles_

MenuItem1.Click

Timer1.Enabled=True

(60)

EndSub

PrivateSubMenuItem2_Click……

Timer1.Enabled=False

f2.Close()

EndSub

PrivateSubMenuItem3_Click……

OpenFileDialog1.(61)

PictureBox1.Image=Image.FromFile((62))

EndSub

PrivateSubTimer1_Tick(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesTimer1.Tick

Statics,tAsInteger

PictureBox1.Left=PictureBox1.Left+10

s=s+10

f2.textbox1.text=s

If(63)Then

PictureBox1.Left=-PictureBox1.Left

t=t+1

(64)

EndIf

EndSub

15、建立顺序文件c:

\stud.txt,文件内容来自文本框,每按一次回车键写入一条记录并清除文本框的内容。

当文本框内输入“END”时结束。

PrivateSubForm1_Load(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesMyBase.Load

(65)

TextBox1.Text=""

EndSub

PrivateSubTextBox1_KeyDown……

If(66)Then‘检测是否按下回车键

IfTextBox1.Text="END"Then

FileClose

(1)

End

Else

(67)‘文本框内容写入文件

TextBox1.Text=""

EndIf

EndIf

EndSub

16、将文本文件c:

\stud复制成新文件c:

\new.txt。

PrivateSubForm1_Click……

DimstrasString

FileOpen(1,"c:

\stud.txt",(68))

FileOpen(2,"c:

\new.txt",(69))

DoWhile(70)'文件没有结束

(71)'按行读入到变量str中

PrintLine(2,str)

Loop

(72)'关闭所有打开的文件

EndSub

17、将文本文件c:

\stud合并到文件c:

\new.txt中。

PrivateSubForm1_Click(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesMyBase.Click

DimstrAsString

FileOpen(1,"c:

\stud.txt",(73))

FileOpen(2,"c:

\new.txt",(74))

DoWhileNotEOF

(1)

(75)

PrintLine(2,Str)

Loop

FileClose()

EndSub

18、若已建立随机文件c:

\stud.dat,其记录类为:

ModuleModule1

StructureStud

DimnoAsInteger

DimnameAsString

DimmarkAsSingle

EndStructure

EndModule

以下程序代码是读出5号记录,用Msgbox显示记录内容,将课程成绩加5分,写入原来的位置,再读出并显示。

PrivateSubForm1_Click(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesMyBase.Click

DimsAsStud

FileOpen(1,"c:

\stud.dat",(76),,,Len(s))

(77)'读入记录号为5的记录

MsgBox(s.no&s.name&s.mark)

(78)

(79)

FileGet(1,s,5)

MsgBox(s.no&s.name&s.mark)

FileClose

(1)

EndSub

19、统计并显示文本文件中各个字母(不区分大小写)出现的次数。

要求:

用对话框打开文件,文件内容显示在左边的文本框中;统计结果显示在右边的框中。

PrivateSubButton1_Click……

DimstrAsString

TextBox1.Text=""

If(OpenFileDialog1.ShowDialog=DialogResult.OK)Then

FileOpen(1,(80),OpenMode.Input)

DoWhileNotEOF

(1)

TextBox1.Text=TextBox1.Text&LineInput

(1)&vbCrLf

Loop

FileClose

(1)

EndIf

EndSub

'统计

PrivateSubButton2_Click……

Dimi,j,s(26)AsInteger,cAsChar

Fori=1To(81)

c=UCase(Mid(TextBox1.Text,i,1))

Ifc>="A"Andc<="Z"Then

j=(82)

s(j)=s(j)+1

EndIf

Next

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 营销活动策划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1