pascal初学者

来源:百度知道 编辑:UC知道 时间:2024/06/23 01:46:01
怎么才能键入一个3位数,然后位置反着输出来?
例如:键入123 输出321

PROGRAM aa;
VAR
a,i,j:integer;
BEGIN
readln(a);
b:=a mod 10 *100
b:=b+a div 100
a:=a-a div 100 *100
b:=b+a div 10 * 10;
writeln (b);
END.

用inttostr()函数把数值转成string类型,然后倒着循环按位截取!

PASCAL的语法忘记了。不过我能告诉你算法。希望对你有帮助

1、a=123;
2、如果a不等于0就输出 a 和 10 取模的结果;
3、a=a/123(要整除);
4、重复步骤2和3

((x Mod 100) Mod 10) * 100 + (x Mod 100) - ((x Mod 100) Mod 10) + (x - (x Mod 100)) / 100

((x Mod 100) Mod 10) 取得个位的数字
(x - (x Mod 100)) / 100取得百位的数字
十位的不用动

用字符串的方法(超快):
program a;
var a:string;
begin
readln(a);
write(a[3],a[2],a[1]);
end.