实验三程序的选择结构
一、实验目的
1.掌握赋值语句的使用。
2.掌握用户交互函数InputBox与MsgBox的使用。
3.掌握IF语句与Select Case语句的使用。
二、实验内容
1.编写一个程序,判断用户输入的年份是否是闰年。
提示:利用InputBox输入年份,利用MsgBox显示判断结果。
2.编写一个程序,判断一个输入的3位整数是否“水仙花数”。
水仙花数是指一个3位数,其各位数字立方和等于该数本身。
例如,153=13+53+33。
3.输入三角形的三边a、b、c的值,根据其数值,判断能否构成三角形。
若能,还要显示三角形的性质:等边三角形、等腰三角形、直角三角形、任意三角形。
提示:使用if语句的嵌套。
4、编写程序,根据输入的学生成绩判断学生的等级。
100-90:等级为A 89-80:等级为B
79-70:等级为C 69-60:等级为D
50-0:等级为E
图3.1 运行界面
提示:可使用多分支IF语句实现。
5.某商场促销采用购物打折的优惠办法,即每位顾客一次购物金额:
①在1000元以上者,按九五折优惠;
②在2000元以上者,按九折优惠;
③在3000元以上者,按八五折优惠;
④在5000元以上者,按八折优惠。
程序界面如图3.2所示。
图3.2 运行界面
提示:
此例用多分支结构实现,注意计算公式和条件表达式的正确书写。
6.输入x、y、z三个整数,按从大到小的次序显示,如图3.3所示。
图3.3 运行界面
提示:
①利用InputBox函数输入3个数,存放到数值型变量中,然后对其进行比较;若放在字
符串变量中,有时会得到不正确的结果(因为字符串是从左到右的规则比较,例如会出现“34”>“2345”>“126789”的情况。
②对三个数进行排序,通过两两比较,一般可用三条单分支IF语句来实现。
方法如下:
先将x与y比较,使得x>y;然后将x与z比较,使得x>z,此时x最大;最后将y与z 比较,使得y>z。
7.输入一元二次方程ax2+bx+c=0的系数a,b,c,计算并输出一元二次方程的两个根x1,x2。
界面如图3-4所示。
图3.4 运行界面
提示:
求根时要对a、b、c三个系数分别考虑多种情况的处理,即:无实根、重根或两个实根。
一元二次方程ax2+bx+c=0有实根的条件是a<>0,并且b2-4ac>=0,则方程有解的条件表达式为a<>0 and b^2-4*a*c>=0
可使用IF语句判断上述条件:
If b^2-4*a*c < 0 Or a = 0 Then
msgbox("方程没有解")
Else
x1 = (-b + Sqr(b^2-4*a*c)) / (2 * a)
x2 = (-b - Sqr(b^2-4*a*c)) / (2 * a)
= Str(x1)
= Str(x2)
End If。