您的位置:首页 > 编程语言 > VB

vb第5章编程题求指正

2019-01-23 20:07 756 查看

 1.编写一个程序,根据给定的四个浮点数,计算并输出他们的和,平均值

[code]Private Sub Form_Load()
Dim a As Integer, b As Integer, c As Integer, d As Integer
FontSize = 18
a = InputBox("请输入第一个数字:")
b = InputBox("输入第二个数字:")
c = InputBox("第三个:")
d = InputBox("不用我说了吧 第四个:")
e = a + b + c + d
f = e / 4
Print "你输的四个家伙加起来就是:", Chr$(13) + Chr$(10), e
Print "它们平均是:", f

End Sub

最开始的做法,以为inputbox赋给的变量必须是字符串型(*/ω\*),然后用了类型强制转换CSng

参考百度发现可以直接定义变量为数值型(*/ω\*)

用的load打印在窗口上,设置AutoReward为True

 

2.编写程序,要求用户输入下列信息:姓名、年龄、通信地址、邮政编码、电话,然后将输入的数据用适当的格式在窗体上显示出来。

跟网上的答案相比,输出的格式不一样,还带几个坏习惯。以下是我的

[code]Private Sub Form_Load()
N$ = InputBox("你的姓名:")
age$ = InputBox("年龄:")
Add$ = InputBox("通信地址:")
code$ = InputBox("邮政编码:")
phn$ = InputBox("电话:")
Print "姓名:"; N
Print "年龄:"; age
Print "地址:"; Add
Print "邮编:"; code
Print "电话:"; phn
End Sub

嗯,乱乱用变量名字还不爱加类型符号的两个坏习惯/思考

注意不可以使用name等vb的保留字作为变量名。不过vb出错有提示这点简直不要太太太方便啊哈哈哈哈哈<(* ̄▽ ̄*)/

以下是标答的输出:

[code]Print Tab(6); "姓名"; Space$(3); "年龄"; Space$(3); "通信地址"; Space$(3); "邮政编码"; Space$(3); "电话号码"
Print
Print Tab(5); n$; Space$(3); age$; Space$(3); addr$; Space$(3); pos$; Space$(3); tel$

3、一个笼子中有x只鸡,y只兔子,每只鸡有2只脚,每只兔子有4只脚;已知鸡和兔的总头数为h,总脚数为f,问笼中鸡和兔各有多少? 

[code]Private Sub Form_click()
Dim head As Integer, jio As Integer
h = InputBox("大声说出鸡和兔的总头数h:")
jio = InputBox("告诉我它们有多少只脚f:")
x = (4 * h - jio) / 2
y = (jio - 2 * h) / 2
Print "一共有"; x; "只鸡"; "和"; y; "只兔"
End Sub

好,在某娘的引导下还是忍痛√使用前声明变量

相比于print输出,msgbox输出便于再次输入数据。所以使用inputbox时比较喜欢用msgbox

4、输入以秒为单位表示的时间,编写程序,将其换算成几日几时几秒。 

嗯。思考了好久,什么叫换算成几日几时几秒?我:

[code]Private Sub Form_load()
Dim time, day, hour
time = InputBox("请输入时间(单位:秒):", "时间转换")
day = time \ 86400
t = time Mod 86400
hour = t \ 3600
time = t Mod 3600
FontSize = 20
Print day; "天"; hour; "小时"; time; "秒"
End Sub

标答:相比之下,我的代码可读性差 输出格式丑的一批。。。

因为结果要输出输入的second,定义了一个second1保留原值,以及第五行的语句是提取second中的数值,这样也可以进行数据类型转换,就不一定要用强制转换了,真好(๑•̀ㅂ•́)و✧

[code]Private Sub Form_Click()
Dim Second, minute, hour, day As Long
Dim second1  As Long
Second = InputBox("请输入秒数")
Second = Val(Second)
second1 = Second
minute = Int(Second / 60)
Second = Second Mod 60
hour = Int(minute / 60)
minute = minute Mod 60
day = Int(hour / 24)
hour = hour Mod 24
Print second1; "秒="; day; "天"; hour; "小时"; minute; "分"; Second; "秒"
End Sub

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: