爱和自由电子书:急!!悬赏20`问大家一个数据结构编程的问题?

来源:百度文库 编辑:高校问答 时间:2024/04/27 11:46:20
数值转换问题:
将十进制数N和其它d进制的转换是计算机实现计算的基本问题,其解决方案很多,其

中最简单方法基于下列原理:即除d取余法。例如:(1348)10=(2504)8
N N div 8 N mod 8
1348 168 4
168 21 0
21 2 5
2 0 2
编写一个程序实现:输入一个十进制数,输出其相应的八进制数和十六进制数.
(请把答案写详细点)

(VB)
Dim s As String
Dim q As Integer
Dim n As Integer
Const NUM As String = "0123456789ABCDEF"
Sub AA(ByVal n As Integer)
If n <= 0 Then Exit Sub
AA (n \ q)
s = s & Mid(NUM, n Mod q + 1, 1)
End Sub
Private Sub Form_Load()
n=Val(InputBox("Input a number:"))
s = ""
q = 8
AA (n)
MsgBox s
s = ""
q = 16
AA (n)
MsgBox s
End Sub
思路:利用递归调用使字符输出颠倒.
当然,可以在VB中直接输出 Oct(N) 和 Hex(N) 的值.
变量说明:n:输入数字;NUM:数码列表;q:逢几进一;s:输出字符串.
___________________________________________________________________
如果你不懂vb,那告诉你:Msgbox 对话框,sub 声明过程,Const 定义常数,Dim 定义变量,If 判断,Exit Sub 跳出过程,End Sub 过程声明结束,(Private 私有),Val(...)字符串转换为数字,InputBox 输入框,(Form_Load 窗体加载事件(窗体:窗口的意思!!!!))