【入门】倒序输出一个四位整数
题目解释:
这道题题目描述非常明了,
就是倒序输出一个四位数。
题目思路:
这道题可以用两种方法:
- 用数学上的div和mod截出各个位上的数,再计算;
- 也可以用字符串倒叙输出。
题目难度:
*
方法一:
算法分析:
用div和mod把各个位置上的数截出来,再把个位乘1000;
十位乘100;百位乘10;千位就是乘1,就是1个千位。
至于截取方法有多种,在这里就讲讲最简单的方法:
如1234:
1234整除10的余数就是个位4;
1234整除100后的余数是34,再整除10的商就是3;
1234整除100的商是12,再整除10的余数就是2;
1234整除1000的商就是1;
答案参考:
var
n,a,b,c,d:longint;
s:qword;
begin
readln(n);
a:=n mod 10; //截出个位
b:=(n mod 100)div 10; //截出十位
c:=(n div 100)mod 10; //截出百位
d:=n div 1000; //截出千位
s:=a*1000+100*b+10*c+d; //计算他的倒叙
writeln(s);
end.
方法二:
算法分析:
字符串熟练的人也可以用字符串做,也很简单,但要注意最前几位如果是零,就得过滤掉。
答案参考:
var
i,j:longint;
st:string;
begin
readln(st);
for j:=4 downto 1 do
if st[j]<>'0' then break; //过滤开头的“0”
for i:=j downto 1 do
write(st[i]);
end.