100的八进制html代码,十六进制转换,请用free Pascal语言编写代码?【试题描述】 输入一个不超过100000位的十六进制数,请转换成八进制数.注:十六进制数中,字母0-9还对应表示数字0...

7d14a2b81882cfe4494b096a84150b2a.png 优质解答

program testcase;

Uses sysutils;

var hex,result:string;

hex_len,i,ch,chv,value,bits:Integer;

good_char :boolean;

begin

writeln('Please input a HEX string:');

readln(hex);

hex_len:=length(hex);

hex:=UpperCase(hex);//统一转换成大写

//writeln('Total number of Chars:',hex_len);

//writeln('b:',(127 shr 1));

bits:=0;

value:=0;

result:='';

for i:=hex_len downto 1 do

begin

ch:=ord(hex[i]);

//writeln('ch:',ch);

if (ch>=48) and (ch =65) and (ch =3 do

begin

chv:=value and 7;

result:=chr(chv+48)+result;

value:= value shr 3;

bits:=bits-3;

end;

end;

end;

if (bits>0) and (value0) then

begin

chv:=value and 7;

result:=chr(chv+48)+result;

end;

if (result[1]='0') and (length(result)>1) then

Delete(result,1,1);

writeln('Result:',result);

writeln('Press ENTER to end the program.');

readln;

end.

一直总想学pascal,可没有机会.拿着你的题练了一下.

FreePascal2.4编译器,16进制转8进制输出:

Please input a HEX string:

ffffff

Result:77777777

Press ENTER to end the program.

Please input a HEX string:

123abc

Result:4435274

Press ENTER to end the program.

感觉Pascal真够古拙的.比c系更接近自然语言英语,更接近伪代码.

方便的string,集合,特别是更严格地遵循结构化编程的原则.

由于严格连垃圾回收都不需要.

Statement,“语句”这种概念在现代编程语言都很难找到了

(感慨.开始很不适应end.还是end; 还是end.哈哈)

总之,在Java没出来之前,的确是一个好且强大的高级应用语言.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值