数据结构作业4

导读:作业四,信息管理与信息系统专业20141020194作业四输入任意十进制整数,转化为二进制和十六进制输出。解决思路及问题描述:将十进制数逐次除以基数r(2或16)取余法,在转换过程中,由低到高依次得到r进制数中的每一位数字,存入栈中,再依次出栈即得所要的r进制数。在进行10进制转化十六进制时,采用If语句,<10的数之间输出,结果大于十时,就用通过ascll码

数据结构作业4

信息管理与信息系统专业20141020194

作业四

输入任意十进制整数,转化为二进制和十六进制输出。

解决思路及问题描述:

将十进制数逐次除以基数r(2或16)取余法,在转换过程中,由低到高依次得到r进制数中的每一位数字,存入栈中,再依次出栈即得所要的r进制数。

在进行10进制转化十六进制时,采用If语句,<10的数之间输出,结果大于十时,就用通过ascll码的运算来表示字符。

代码

program jzh(input,output);

type link=^node;

node=record

data:integer;

next:link

end;

var y:integer;

procedure jzh2i(var x:integer);

var p,q:link;

y,z:integer;

begin

y:=x mod 2;

new(q);q^.data:=y;p:=q;

z:=x div 2;

while z<>0 do

begin

y:=z mod 2;

new(q);q^.data:=y;q^.next:=p;p:=q;

z:=z div 2;

end;

while p<>nil do

begin

write(p^.data);

p:=p^.next;

end;

end;

procedure jzh16(var x:integer);

var p,q:link;

y,z:integer;

begin

y:=x mod 16;

new(q);q^.data:=y;p:=q;

z:=x div 16;

while z<>0 do

begin

y:=z mod 16;

new(q);q^.data:=y;q^.next:=p;p:=q; z:=z div 16;

end;

while p<>nil do

begin

if 'p^.data'>=10 then write(chr('p^.data'+55 )) else write(p^.data); p:=p^.next;

end;

end;

begin

write('please input x:');

readln(y);

write('2jinzhi=:');

Jzh2(y);

writeln();

write(' 16jinzhi=:');

Jzh16(y);

writeln();

end.

博泰典藏网btdcw.com包含总结汇报、行业论文、自然科学、经管营销、农林牧渔、表格模板、工程科技、求职职场、高中教育、计划方案、出国留学、医药卫生、初中教育以及数据结构作业4等内容。