pascal编程题目描述  给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的

pascal编程
题目描述
  给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例2)。
输入格式
  输入文件名为reverse.in 。
  输入共1 行,一个整数 N。
输出格式
  输出文件名为reverse.out 。
  输出共1行,一个整数,表示反转后的新数。
样例输入
【样例输入1】
123
【样例输入2】
-380
样例输出
【样例输出1】
321
【样例输出2】
-83
注释
数据范围
-1,000,000,000≤ N≤ 1,000,000,000 。
面无表情大哥 1年前 已收到1个回答 举报

生命无暇 幼苗

共回答了22个问题采纳率:95.5% 举报

var
st:string;
t:char;
flag:boolean;
len,i:longint;
begin
readln(st);
if st[1] = '-' then
begin
flag:=true;
delete(st,1,1);
end
else flag := false;
len := length(st);
for i := 1 to len div 2 do
begin
t := st[i];
st[i] := st[len - i + 1];
st[len - i + 1] := t;
end;
while (st[1] = '0') and (length(st) > 1) do delete(st,1,1);
if flag then st := '-' + st;
writeln(st);
end.

1年前

2
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 17 q. 0.651 s. - webmaster@yulucn.com