pascal语言:输入任意十进制整数,分别转化为二进制,八进制和十六进制输出.

如题所述

var n,r,x:longint;
procedure d2r(x,r:longint x);
begin
  if x>=r then d2r(x/r,r);
  if x mod r<10 then write(x mod r) else write(chr(x mod r + 55);
end;
begin
  readln(x);
  write(x,'=('); d2r(x,2); writeln(')2');
  write(x,'=('); d2r(x,8); writeln(')8');
  write(x,'=('); d2r(x,16); writeln(')16');
end.

追问

亲,显示有两处错误,不知道怎么改

追答

对不起,因没有PASCAL编译器,未经调试。
请把:
procedure d2r(x,r:longint x);
改为:
procedure d2r(x,r:longint);

追问

还是不行,麻烦大佬再帮忙看看

追答

第5行末尾的分号前少了一个右括号。

温馨提示:答案为网友推荐,仅供参考
相似回答