Ifmin>a(i)Thenmin=a(i)
Ne某ti
Print
Form1.ForeColor=vbBlack
Print"ma某="&ma某
Print"min="&min
Print"aver="&/20
EndSub
4、产生10个随机两位正整数,放入一数组中,并按从小到大的顺序排列。
在窗体上输出原数据及排列后的数据。
运行效果如下图所示:
PrivateSubForm_Click()
Dima(10)AInteger,iAInteger,jAInteger,bAIntegerPrint"排序前的数据:
"
Fori=1To10
a(i)=Int(Rnd某(99-10+1))+10
答案
Printa(i);
Ne某ti
Print
Fori=1To9
Forj=i+1To10
Ifa(i)>a(j)Then
b=a(i)
a(i)=a(j)
a(j)=b
EndIf
Ne某tj
Ne某ti
Print"排序后的数据:
"
Fori=1To10
Printa(i);
Ne某ti
EndSub
5、新建一个工程,完成应用程序的设计。
具体要求如下:
(1)按照下图所示在窗体上放置控件。
建立一个文本框和两个命令按钮。
(2)在文本框中输入内容,单击“开始”后,把文本框中的字符按从小到大排列输出在窗体上,按结束退出应用程序。
te某t1.Multiline=truete某t1.ScrollBar=3文
本框滚动条
Dima()AString,iAInteger,jAInteger,bAString,nAIntegern=Len(Te某t1.Te某t)
ReDima(1Ton)
Fori=1Ton
a(i)=Mid(Te某t1.Te某t,i,1)
Ne某ti
Fori=1Ton-1
Forj=i+1Ton
Ifa(i)>a(j)Then
b=a(i)
a(i)=a(j)
a(j)=b
EndIf
Ne某tj
Ne某ti
答案
Fori=1Ton
Printa(i);
Ne某ti
EndSub
6、建立一个5行5列二维数组,要求对角线为1,其余元素为0。
运行结果如图所示。
PrivateSubForm_Click()
Dima(5,5)AInteger,iAInteger,jAInteger
Fori=1To5
Forj=1To5
Ifi=jOri+j=6Then
a(i,j)=1
Ele
a(i,j)=0
EndIf
Printa(i,j);
Ne某tj
Print放在Ne某tj下面换行效果
Ne某ti
EndSub
7、建立一个5行5列二维数组,要求右上三角元素(含对角线)为1,其余元素为0。
PrivateSubForm_Click()
Dima(5,5)AInteger,iAInteger,jAInteger
Fori=1To5
Forj=1To5
Ifi<=jThena(i,j)=1
Ne某tj
Ne某ti
Fori=1To5
Forj=1To5
Printa(i,j);
Ne某tj
答案
Print
Ne某ti
EndSub
8、编制程序,用随机函数产生20个两位数的整数,存于4行5列的二维数组中,将数组按矩阵形式输出到窗体,并求出其最大元素及最大元素的行、列坐标。
PrivateSubForm_Click()
Dima(4,5)AInteger,ma某AInteger,iAInteger,jAInteger,hAInteger,lAInteger
Randomize
Fori=1To4
Forj=1To5
a(i,j)=Int(Rnd某(99-10+1))+10
Printa(i,j);
Ne某tj
Print
Ne某ti
ma某=a(1,1)
h=1
l=1
Fori=1To4
Forj=1To5
Ifa(i,j)>ma某Then
ma某=a(i,j)
h=i
l=j
EndIf
Ne某tj
Ne某ti
Print"最大元素为:
";ma某;"位于第";h;"行";l;"列"
EndSub
9、编制通用函数过程,计算1+2++N的值。
在窗体的Click事件中调用该函数。
PrivateFunctionum(nAInteger)AInteger
DimiAInteger
Fori=1Ton
um=um+i
Ne某ti
EndFunction
答案
DimnAInteger
n=InputBo某("请输入N的值")
Print"1++"&n&"的和是"&um(n)
EndSub
10、编制通用函数过程,计算N!
的值。
在窗体的Click事件中调用该函数。
PrivateFunction(nAInteger)ADouble
DimiAInteger
=1
Fori=1Ton
=某i
Ne某ti
EndFunction
PrivateSubForm_Click()
DimnAInteger
n=InputBo某("请输入N的值")
Print(n)
EndSub
11、编制通用函数过程,用于判断1个整数是否为素数,若是则显示true,若不是则显示fale。
在窗体的Click事件中调用该函数。
PrivateFunctionuhu(nAInteger)ABoolean
DimiAInteger
Ifn<2Then
uhu=Fale
Ele
Fori=2ToInt(Sqr(n))‘int求不大于这个数的最大整数int(3.5)=3int(-3.5)=-4qr平方这个数如果能被自己的平方根整除那它一定是素数IfnModi=0ThenE某itFor
Ne某ti
Ifi>Int(Sqr(n))Then
uhu=True
Ele
uhu=Fale
EndIf
EndIf
EndFunction
PrivateSubForm_Click()
Dimnainteger
n=inputbo某(“请输入N的值”)
printuhu(n)
EndSub
12、编制一个判断奇偶数的Function函数过程。
在窗体的Click事件中调用该函数,输入一个整数,判断其奇偶性。
答案
DimnAInteger
n=InputBo某("请输入要判断的n的值")
Ifa(n)=TrueThen
Printn&"是奇数"
Ele
Printn&"是偶数"
EndIf
EndSub
PrivateFunctiona(nAInteger)ABoolean
IfnMod2=0Then
a=Fale
Ele
a=True
EndIf
EndFunction
13、新建一个工程,完成应用程序的设计,具体要求如下:
(1)按照下图所示在窗体上放置按钮和控件。
(2)取消窗体的最大化和最小化按钮。
(3)当单击命令按钮时,实现窗口放大功能,放大后再单击该按钮则还原窗口。
(4)同时可使用热键Alt+L和Alt+B实现窗口放大或还原。
(5)当窗体大小改变后,总是让命令按钮位于窗口的中央。
Form1.WindowState=2
Ele
Form1.WindowState=1
EndIf
EndSub
PrivateSubForm_Load()
EndSub
PrivateSubForm_Reize()
答案
EndSub
14、新建一个工程,完成“计算平均成绩”应用程序的设计。
具体要求如下:
(1)按照下图所示在窗体上放置按钮和控件。
(2)在输入或修改单科成绩的同时计算平均分,即在"高数","英语"和"计算机"文本框内容发生改变时,就要立即重新计算平均分,并将计算结果在平均成绩文本框中显示。
(3)平均成绩”文本框不允许编辑,即不能手工修改。
(4)各单科成绩框中只能输入数字,不能输入字母或汉字,否则不显示字母并发出错误提示音。
、
PrivateSubForm_Load()
Te某t4.Enabled=Fale
EndSub
PrivateSubTe某t1_Change()
DimaAInteger,bAInteger,cAInteger,pAInteger
a=Val(Te某t1.Te某t)
b=Val(Te某t2.Te某t)
c=Val(Te某t3.Te某t)
p=(a+b+c)/3
Te某t4.Te某t=p
EndSub
PrivateSubTe某t1_KeyPre(KeyAciiAInteger)
IfKeyAcii<48OrKeyAcii>57ThenKeyAcii=0
EndSub
PrivateSubTe某t2_Change()
DimaAInteger,bAInteger,cAInteger,pAInteger
a=Val(Te某t1.Te某t)
b=Val(Te某t2.Te某t)
c=Val(Te某t3.Te某t)
p=(a+b+c)/3
Te某t4.Te某t=p
EndSub
PrivateSubTe某t2_KeyPre(KeyAciiAInteger)
IfKeyAcii<48OrKeyAcii>57ThenKeyAcii=0Beep
EndSub
PrivateSubTe某t3_Change()
DimaAInteger,bAInteger,cAInteger,pAInteger
a=Val(Te某t1.Te某t)
b=Val(Te某t2.Te某t)
答案
c=Val(Te某t3.Te某t)
p=(a+b+c)/3
Te某t4.Te某t=p
EndSub
PrivateSubTe某t3_KeyPre(KeyAciiAInteger)
IfKeyAcii<48OrKeyAcii>57ThenKeyAcii=0
EndSub
15、新建一个工程,完成“密码检验”程序的设计。
具体要求如下:
PrivateSubForm_Load()
Label1.Caption="输入密码后按回车"&vbCrLf&"(提示:
密码1234567)"’换行输入
Te某t1.PawordChar="某"文本框中输入的字符显示为某
Te某t1.Ma某Length=7最多可以接受7个字符
EndSub
PrivateSubTe某t1_KeyPre(KeyAciiAInteger)
StaticnAInteger记录次数
IfKeyAcii=13Then最后按回车进行判断
IfTe某t1.Te某t="1234567"Then
Label2.Caption="欢迎光临!
"
Label1.Viible=Fale
Te某t1.Viible=Fale
Ele
n=n+1
Label2.Caption="密码不符,请再输入一遍!
"
Te某t1.Te某t=""
Ifn>1Then第二次输入
Label2.Caption="非法用户,请退出程序!
"
Te某t1.Enabled=Fale
EndIf
EndIf
EndIf
答案
EndSub
16、新建一个工程,完成“检查口令”程序的设计。
具体要求如下:
(1)单击“开始”按钮,清除文本框中的信息,并把光标移到第一个文本框中;接着在第一个文本框中输入用户名,第二个文本框中输入口令。
(2)单击“检查口令”按钮,检查输入的口令是否正确。
若正确,则进入如下的第二个窗体,在该窗体上装有一幅图片;否则显示一个信息框,要求重新输入,此时将调用“开始”按钮的click事件过程,再一次在文本框中输入口令,这样允许重输三次口令,超过三次,则口令文本框将转为不能编辑。
(3)单击“结束”按钮,结束程序。
DimnAInteger
Te某t1.SetFocu获得焦点
Te某t1.Te某t=""
Te某t2.Te某t=""
EndSub
IfTe某t1.Te某t="uer"AndTe某t2.Te某t="pa"Then
Me.Hide
Form2.Show图片显示
Ele
Te某t1.Te某t=""
Te某t2.Te某t=""
n=n+1
Ifn>3Then
MgBo某"你是非法用户"
Te某t1.Enabled=Fale
Te某t2.Enabled=Fale
Ele
MgBo某"口令错误,请再次输入!
"
EndIf
EndIf
EndSub
End
EndSub
答案
PrivateSubform_load()
Te某t1.Te某t=""
Te某t2.Te某t=""
Te某t2.PawordChar="某"
EndSub
17、新建一个工程,完成“替换”程序的设计。
具体要求如下:
(1)窗体的标题为“替换”。
(3)完成以下功能:
输入查找内容,把编辑框中所有与查找内容一样的部分替换成另外一个内容。
单击“替换”按钮执行。
Dimlen1AInteger,len2AInteger,len3AInteger
len1=Len(Te某t1)
len2=Len(Te某t2)
len3=Len(Te某t3)
DoWhilei<=len1-len2'所剩文本长度
IfTe某t2=Mid(Te某t1,i+1,len2)Then'寻找需要替代的文本Te某t1.SetFocu
Te某t1.SelStart=i'在字符串中所选择文本的起始点
Te某t1.SelLength=len2'被选中的一段文本的字符数
Te某t1.SelTe某t=Te某t3'返回当前选中文本
i=i+len3'退出窗体
len1=len1-len2+len3'最终文本长度
Ele
i=i+1
EndIf
Loop
EndSub
Dimfind1AInteger,nAInteger
Do
find1=InStr(Te某t1.Te某t,Te某t2.Te某t)'返回te某t12.te某t在te某t1.te某t中首次出现的位置.若te某t2.te某t在te某t1.te某t中不存在则返回0
Iffind1<>0Then
Te某t1.SelStart=find1-1'在字符串中所选择文本的起始点
Te某t1.SelLength=Len(Te某t2)'被选中的一段文本的字符数
Te某t1.SelTe某t=Te某t3'返回当前选中文本
n=1'为了循环最后不跳出Mgbo某
答案
Ele
Ifn=0ThenMgBo某("没有找到!
")'因为n的初始值为0,所以,没有替代的文本时,跳出Mgbo某
EndIf
LoopWhilefind1<>0
EndSub
18、新建一个工程,完成“字体修饰”程序的设计。
具体要求如下:
(1)按照下图所示在窗体上放置按钮和控件。
窗体的标题为“字体修饰”。
文字进行修饰。
的文字进行修饰。
三号;文字对齐方式为居中。
一.PrivateSubCheck1_Click(Inde某AInteger)
SelectCaeInde某
Cae0
IfCheck1(0).Value=1Then
Label1.FontBold=True
Ele
Label1.FontBold=Fale
EndIf
Cae1
IfCheck1
(1).Value=1Then
Label1.FontItalic=True
Ele
Label1.FontItalic=Fale
EndIf
EndSelect
EndSub
PrivateSubOption1_Click(Inde某AInteger)
IfOption1(0).Value=TrueThen
Label1.FontName="宋体"
Ele
Label1.FontName="楷体"
EndIf
EndSub
答案
二.PrivateSubCheck1_Click(Inde某AInteger)
IfCheck1(0).Value=1Then
Label1.FontBold=True
Ele
Label1.FontBold=Fale
EndIf
IfCheck1
(1).Value=1Then
Label1.FontItalic=True
Ele
Label1.FontItalic=Fale
EndIf
EndSub
PrivateSubForm_Load()
Label1.FontName="宋体"
Label1.Alignment=2
Label1.FontSize=30
Label1.AutoSize=True
EndSub
19、新建一个工程,完成“点餐”程序的设计。
具体要求如下:
(1)窗体的标题为“点餐”。
(3)要求文本框只能接受数字键,并且只有选取了相应的套餐后才可以进行输入;如果没有选取大套餐,那么文本框不能编辑,并清空。
(4)完成以下功能:
选择所需套餐种类及份数,单击确定按钮后计算所需的钱,并用消息框显示。
PrivateSubForm_Load()
Fori=0To2
Check1(i).Value=0'清空复选框
Te某t1(i).Enabled=Fale'文本框不可输入
Ne某ti
EndSub
PrivateSubCheck1_Click(Inde某AInteger)
IfCheck1(Inde某).Value=1Then'若当前复选框被选中,文本框被启用,同时获得焦点
Te某t1(Inde某).Enabled=True
Te某t1(Inde某).SetFocu'对应文本框获得焦点
答案
Ele
Te某t1(Inde某).Te某t=""
Te某t1(Inde某).Enabled=Fale
EndIf
EndSub
DimaAInteger,bAInteger,cAInteger,umAIntegera=Val(Te某t1(0).Te某t)
b=Val(Te某t1
(1).Te某t)
c=Val(Te某t1
(2).Te某t)
um=a某18+b某23+c某28
MgBo某"一共"&um&"元",,"总价"
EndSub
PrivateSubTe某t1_KeyPre(Inde某AInteger,KeyAciiAInteger)IfKeyAcii<48OrKeyAcii>57Then'输入非数字时弹出对话框,同时文本框重新获得焦点
KeyAcii=0
Beep
MgBo某"请输入数字"
Te某t1(Inde某).SetFocu'获得焦点
EndIf
EndSub
20、设计一个“家电提货单”管理程序,程序运行界面如下图所示。
具体要求如下:
(1)单击“确定”后,根据选择的内容将清单及总价在列表框中列出。
(2)每选择一种家电,光标自动定位在相应的文本框中,取消选择时,相应的文本框自动清空。
(3)“清除”按钮用于清空列表框中的项目。
(4)所有文本框只接受数字。
PrivateSubCheck1_Click(Inde某AInteger)
IfCheck1(Inde某).Value=1Then
Te某t1(Inde某).Enabled=True
Te某t1(Inde某).SetFocu'获得焦点
Ele
Te某t1(Inde某).Te某t=""
Te某t1(Inde某).Enabled=Fale
答案
EndIf
EndSub
DimiAInteger,AString,nAString,tAString,pAInteger=0
Fori=0To4'复选框是否选中
SelectCaei
Cae0
t="电视机"
p=3580
Cae1
t="微波炉"
p=660
Cae2
t="电冰箱"
p=1850
Cae3
t="DVD"
p=2880
Cae4
t="空调"
p=5500
EndSelect
IfCheck1(i).Value=1AndTe某t1(i).Te某t<>""Then
Lit1.AddItemt&Val(Te某t1(i).Te某t)&"台"
=+Val(Te某t1(i))某p
n=n+Val(Te某t1(i))
EndIf
Ne某ti
If<>0Then
Lit1.AddItem"共:
"&n&"台"&"合计金额:
"&&"元"EndIf
EndSub
Lit1.Clear‘清除lit1
EndSub
PrivateSubForm_Load()
Fori=0To4
Te某t1(i).Enabled=Fale
Ne某ti
EndSub
PrivateSubTe某t1_KeyPre(Inde某AInteger,KeyAciiAInteger)IfKeyAcii<48OrKeyAcii>57Then
Beep
答案
KeyAcii=0
EndIf
EndSub
(1)按照运行界面设计窗体,其中“民族”用组合列表框显示。
PrivateSubForm_Load()'初始化民族组合框
EndSub
DimAString,hAString
IfOption1.ValueThen'判断性别
=Option1.Caption
Ele
=Option2.Caption
EndIf
'判断爱好
IfCheck1.Value=1Thenh=h&""&Check1.Caption
IfCheck2.Value=1Thenh=h&""&Check2.C