编程题题目及答案34.docx
- 文档编号:8923578
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:50
- 大小:352.25KB
编程题题目及答案34.docx
《编程题题目及答案34.docx》由会员分享,可在线阅读,更多相关《编程题题目及答案34.docx(50页珍藏版)》请在冰豆网上搜索。
编程题题目及答案34
第二章
四、编程题
1.在窗体上添加3个命令按钮(“显示”、“清除”与“结束”)。
单击“显示”按钮时,将在窗体上显示唐诗“静夜思”,如图2-1所示,单击“清除”按钮时,将清除所显示的内容,单击“结束”按钮时,结束程序的运行。
2.在窗体上添加5个标签、4个文本框和2个命令按钮。
程序运行时,通过文本框输入一个总秒数,单击“计算”按钮,总秒数将传换成小时、分钟和秒数并在文本框中输出(运行界面如
图2-2所示)
图2-1
图2-2
3.在窗体上添加3个标签,3个文本框和2个命令按钮。
程序运行时,在第1个文本框中输入文字时,在另外两个文本框中显示相同的内容,但显示的字号和字体不同。
单击“清除”按钮则可清除3个文本框中的内容(运行界面如图2-3所示)。
4.设计计算语文、数学、英语这三门课程总成绩和平均分的程序,利用文本框做数据的输入和输出(运行界面如图2-4)所示。
图2-3
图2-4
5.单击窗体,弹出一个输入框,用户输入一个两位数(如36),交换个位数和十位数的位置,并把处理后的数(63)用消息框显示给用户。
6.在窗体上添加2个文本框(它们的初始值均为0)、4个命令按钮(标题分别为“+”“-”“*”
“/”)和1个标签(初始标题为空)。
要求在2个文本框内输入2个数字,单击“+”(或“-”、
“*”、“/”)按钮时,标签将显示两数相加(或减、乘、除)的结果。
7.某门课程的考试成绩分为笔试和机试成绩,其中笔试占60%,机试占40%,利用输入框分别输入该课程的笔试和机试成绩,用消息框输出其总成绩。
8.设计一个电子计时器,以秒为单位计时,单击“计时开始”按钮计时开始。
此时“计时开始”按钮变灰,“停止计时”按钮可用,在标签内显示经过的秒数。
单击“停止计时”按钮,计时结束,弹出消息框提示“您的记录是?
秒”(这里的?
代表标签最后显示的秒数值)。
答案
四、编程题
1.编写的3个按钮的Click事件过程代码如下:
PrivateSubCommand1_Click()
BackColor=RGB(255,255,255)
ForeColor=RGB(0,0,255)
FontName="楷体"
FontSize=20
CurrentX=1200
CurrentY=350
Print"静夜思(唐诗)"
FontName="幼圆"
FontSize=13
PrintSpc(6);"床前明月光,疑是地上霜"
PrintSpc(6);"举头望明月,低头思故乡"
EndSub
PrivateSubCommand2_Click()
Cls
EndSub
PrivateSubCommand3_Click()
End
EndSub
2.编写的命令按钮单击事件过程代码如下:
PrivateSubCommand1_Click()
DimhAsInteger,mAsInteger,sAsInteger,tAsInteger
t=Val(Text1.Text)
h=t\3600
t=t-h*3600
m=t\60
s=t-m*60
Text2.Text=h
Text3.Text=m
Text4.Text=s
EndSub
PrivateSubCommand1_Click()
End
EndSub
3.PrivateSubForm_Load()
Text2.FontName="隶书"
Text2.FontSize=16
Text3.FontName="楷体"
Text3.FontSize=20
EndSub
PrivateSubText1_Change()
Text2.Text=Text1.Text
Text3.Text=Text1.Text
EndSub
PrivateSubCommand1_Click()'“清除”按钮
Text1.Text=""'清除文本框Text1的内容
Text2.Text=""'清除文本框Text2的内容
Text3.Text=""'清除文本框Text3的内容
Text1.SetFocus'设置焦点
EndSub
PrivateSubCommand2_Click()
End
EndSub
4.PrivateSubCommand1_Click()
DimsAsSingle,aveAsSingle
DimsxAsSingle,ywAsSingle,wyAsSingle
sx=Val(Text1.Text)
yw=Val(Text2.Text)
wy=Val(Text3.Text)
s=sx+yw+wy
ave=s/3
Text4.Text="总成绩为"&s
Text5.Text=ave
EndSub
PrivateSubCommand2_Click()
End
EndSub
5.编写的窗体单击事件过程代码如下:
PrivateSubForm_Click()
DimxAsInteger,aAsInteger
DimbAsInteger,cAsInteger
x=Val(InputBox(“请输入一个两位数”))
a=Int(x/10)'求十位数
b=xMod10'求个位数
c=b*10+a'生成新的数
MsgBox(“处理后的数为”&c)
EndSub
6.PrivateSubCommand1_Click()
Dimaasinteger,basinteger,casinteger
a=Text1.Text
b=Text2.Text
c=a+b
Label1.Caption=c
EndSub
PrivateSubCommand2_Click()
Dimaasinteger,basinteger,casinteger
a=Text1.Text
b=Text2.Text
c=a-b
Label1.Caption=c
EndSub
PrivateSubCommand3_Click()
Dimaasinteger,basinteger,casinteger
a=Text1.Text
b=Text2.Text
c=a*b
Label1.Caption=c
EndSub
PrivateSubCommand4_Click()
Dimaasinteger,basinteger,cassingle
a=Text1.Text
b=Text2.Text
c=a/b
Label1.Caption=c
EndSub
7.PrivateSubForm_Click()
Dims1AsSingle,s2AsSingle,sAsSingle
s1=Val(InputBox("请输入笔试成绩"))
s2=Val(InputBox("请输入机试成绩"))
s=s1*0.6+s2*0.4
MsgBox("您的成绩为"&s)
EndSub
8.PrivateSubForm_Load()
Label1.Caption=0
Timer1.Enabled=False
EndSub
PrivateSubCommand1_Click()
Command1.Enabled=False
Command2.Enabled=True
Timer1.Enabled=True
EndSub
PrivateSubCommand2_Click()
Command1.Enabled=True
Command2.Enabled=False
Timer1.Enabled=False
MsgBox("您的记录为"&Label1.Caption&"秒")
EndSub
PrivateSubTimer1_Timer()
Label1.Caption=Label1.Caption+1
EndSub
第三章
三、编程题
1.输入a,b,c三个数,按从大到小的次序显示。
运行界面如图3-2所示。
图3-2
2.任意输入一个整数,判定该整数的奇偶性。
运行界面如图3-3所示。
图3-3
3.编制程序,计算某个学生奖学金的等级,以语文a、数学b、英语c三门功课的成绩为评奖依
据。
奖学金分为一、二、三等,其评奖标准如下。
(1)符合下列条件之一的可得一等奖。
①三门功课总分在285分以上。
②有两门功课成绩是100分,且第三门功课成绩不低于80分者。
(2)符合下列条件之一的可得二等奖:
①三门功课总分在270分以上。
②有一门功课成绩是l00分,且其他功课成绩不低于75分者。
(3)各门功课成绩不低于70分者,获三等奖。
(4)符合条件者就高不就低,只能获得高的那一项奖学金。
要求显示获奖的等级。
运行界面如图3-4所示。
图3-4
4.编制程序,根据用户输入的考试成绩,按表3-1分数与等级的对照标准,输出相应的等级,运行界面如图3-5所示。
图3-5
5.计算分段函数:
的值。
运行界面如图3-6所示。
图3-6
6.公用电话收费标谁如下:
通话时间在3分钟以内,收费0.2元;3分钟以上,则每超过1分钟加收0.1元。
编写一段程序,计算某人通话X分钟,应缴多少电话费?
运行界面如图3-7所示。
图3-7
答案:
三、编程题
1.
方法1:
PrivateSubCommand1_Click()
a=Val(Text1.Text)
b=Val(Text2.Text)
c=Val(Text3.Text)
Ifb>aThent=a:
a=b:
b=t
Ifb>cThen
Label4.Caption=a
Label5.Caption=b
Label6.Caption=c
ElseIfc>aThen
Label4.Caption=c
Label5.Caption=a
Label6.Caption=b
Else
Label4.Caption=a
Label5.Caption=c
Label6.Caption=b
EndIf
EndSub
PrivateSubCommand2_Click()
End
EndSub
方法2:
PrivateSubCommand1_Click()
a=Val(Text1.Text)
b=Val(Text2.Text)
c=Val(Text3.Text)
Ifa a=b: b=t Ifa a=c: c=t Ifb b=c: c=t Label4.Caption=a Label5.Caption=b Label6.Caption=c EndSub PrivateSubCommand2_Click() End EndSub 2.PrivateSubCommand1_Click() x=Val(Text1.Text) IfxMod2=0Then Label2.Caption="是偶数" Else Label2.Caption="是奇数" EndIf EndSub PrivateSubCommand2_Click() End EndSub 3.PrivateSubCommand1_Click() a=Val(Text1.Text) b=Val(Text2.Text) c=Val(Text3.Text) Ifa+b+c>=285Or(a=100Andb=100Andc>=80)Or(b=100And c=100Anda>=80)Or(a=100Andc=100Andb>=80)Then Label5.Caption="一等奖" ElseIfa+b+c>=270Or(a=100Andb>=75Andc>=75)Or(b=100 Anda>=75Andc>=75)Or(c=100Anda>=75Andb>=75)Then Label5.Caption="二等奖" ElseIfa>=70Andb>=70Andc>=70Then Label5.Caption="三等奖" Else Label5.Caption="无" EndIf EndSub PrivateSubCommand2_Click() End EndSub 4.PrivateSubCommand1_Click() x=Val(Text1.Text) SelectCasex CaseIs>=90 Label3.Caption="优秀" Case80To89 Label3.Caption="良好" Case70To79 Label3.Caption="中" Case60To69 Label3.Caption="及格" CaseElse Label3.Caption="不及格" EndSelect EndSub PrivateSubCommand2_Click() End EndSub 5.PrivateSubCommand1_Click() x=Val(Text1.Text) SelectCasex CaseIs<0 Label3.Caption=x*x+1 CaseIs>=1 Label3.Caption=3*x^3 CaseElse Label3.Caption=2*x+1 EndSelect EndSub PrivateSubCommand2_Click() End EndSub 6. 方法1: PrivateSubCommand1_Click() x=Val(Text1.Text) Ifx<=3Then Label3.Caption="0.2元" Else y=(x-3)*0.1+0.2 Ify<1Then Label3.Caption="0."&y&"元" Else Label3.Caption=Str(y)&"元" EndIf EndIf EndSub PrivateSubCommand2_Click() End EndSub 方法2: PrivateSubCommand1_Click() x=Val(Text1.Text) Ifx<=3Then Label3.Caption="0.2元" Else y=(x-3)*0.1+0.2 Label3.Caption=Format(y,"0.0")&"元" EndSub PrivateSubCommand2_Click() End EndSub 第四章 三、编程题 1.建立一个“求和程序”窗体,运行界面如图4-3所示。 要求: 可执行从1~1000之间的整数累加运算。 拖动水平滚动条滑块,可显示并设定要累加的选取数字。 单击“计算”按钮,可执行从1到选取的数字之间的整数的累加运算,并显示在文本框中,文本框中不允许直接输入数字。 图4-3 2.用循环显示如图4-4所示的结果。 要求: 单击图片框,在图片框中打印九九乘法表。 图4-4 3.在列表框中输出1~100之间不能被3整除的数,要求用Do语句实现,运行界面如图4-5所示。 图4-5 4.在图片框中打印如图4-6所示的沙漏图形。 图4-6 5.编程求1! +2! +3! +…+10! 的结果,程序运行界面如图4-7所示。 图4-7 6.编程求ex的近似值,要求最后一项的值小于等于0.000001时停止计算。 ex的展开式为: 程序运行界面如图4-8所示 图4-8 答案: 三、编程题 1.PrivateSubCommand1_Click() s=0 Fori=1ToHScroll1.Value s=s+i Nexti Label3.Caption=s EndSub PrivateSubCommand2_Click() End EndSub PrivateSubHScroll1_Change() Label1.Caption="选取的数字为: "&HScroll1.Value EndSub 2.PrivateSubPicture1_Click() DimseAsString Picture1.PrintTab(35);"九九乘法表" Picture1.PrintTab(35);"---------------" Fori=1To9 Forj=1Toi se=i&"×"&j&"="&i*j Picture1.PrintTab((j-1)*9+1);se; Nextj Picture1.Print Nexti EndSub 3.PrivateSubCommand1_Click() j=1 DoWhilej<=100 IfjMod3<>0Then List1.AddItemj EndIf j=j+1 Loop EndSub PrivateSubCommand2_Click() End EndSub 4.PrivateSubCommand1_Click() Fori=1To5 Picture1.PrintTab(3*i);"★"; Forj=1To17-i*3 Picture1.Print"☆"; Nextj Picture1.Print"★"; Picture1.Print Nexti Picture1.PrintTab(3*i);"☆"; Fori=5To1Step-1 Picture1.PrintTab(3*i);"★"; Forj=1To17-i*3 Picture1.Print"☆"; Nextj Picture1.Print"★"; Picture1.Print Nexti EndSub PrivateSubCommand2_Click() End EndSub 5.PrivateSubCommand1_Click() s=0: n=1 Fori=1To10 n=n*i s=s+n Nexti Label3.Caption=s EndSub PrivateSubCommand2_Click() End EndSub 6.PrivateSubCommand1_Click() x=Val(Text1.Text) s=1: n=1 t=x/n DoWhilet>0.000001 s=s+t n=n+1 t=t*x/n Loop Label3.Caption=s EndSub PrivateSubCommand2_Click() End EndSub 第五章 三、编程题 1.随机产生10个0~100之间的正整数,将它们按从大到小的顺序排列。 运行界面如图5-3所示。 图5-3 2.输入整数N,显示出具有N行的“杨辉三角形”。 一个具有9行的杨辉三角形运行效果如图5-4所示。 图5-4 3.从40分~100分随机产生50名学生的物理课程考试成绩,要求在列表框中显示所有考试成绩,并在图片框中统计各分数段人数,即40~59、60~69、70~79、80~89、90~100,显示结果如图5-5所示。 图5-5 5.按图5-6所示,当在文本框中输入任意字母或数字时,单击“统计”按钮,将会在图片框中打印出数字字符0~9出现的次数。 图5-6 6.利用随机数生成矩阵A(数据不一定相同,要求数据范围在20~80之间),求A的转置矩阵。 运行界面如图5-7所示(分别在图片框中显示)。 图5-7 6.建立含有4个命令按钮的控件数组,当单击某个命令按钮时,分别显示不同的图形或结束操作。 控件名称及相关属性如表5-1所示,程序运行界面如图5-8所示。 图5-8 答案: 三、编程题 1. 方法1: PrivateSubCommand1_Click() Dimx(1To10)AsInteger Print Print"原始数据: " Fori=1To10 x(i)=Int(Rnd*101) Printx(i); Nexti Print: Print Print"排序数据: " Fori=1To9 Forj=i+1To10 Ifx(i) t=x(i) x(i)=x(j) x(j)=t EndIf Nextj Printx(i); Nexti Printx(10) EndSub 方法2: PrivateSubCommand1_Click() Dimx(1To10)AsInteger Cls Print Randomize Print"原始数据: " Fori=1To10 x(i)=Int(Rnd*101) Printx(i); Nexti Print: Print Print"排序数据: " Fori=1To9 Max=i Forj=i+1To10 Ifx(Max) Nextj t=x(Max): x(Max)=x(i): x(i)=t Nexti Fori=1To10 Printx(i); Nexti EndSub 2.PrivateSubCommand1_Click() Dima()AsInteger n=Val(Text1.Text) ReDima(1Ton,1Ton)AsInteger Fori=1Ton a(i,1)=1: a(i,i)=1 Nexti Fori=3Ton Forj=2Toi-1 a(i,j)=a(i-1,j-1)+a(i-1,j) Nextj Nexti Fori=1Ton Forj=1Toi Picture1.PrintTab(j*5-4);a(i,j); Nextj Picture1.Print NextiEndSub 3.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编程 题目 答案 34