free pascal 编程问题(Help!)

来源:百度知道 编辑:UC知道 时间:2024/09/28 12:48:58
大家好,题目要求是:“输入任意一个四位数,输出这个四位数各数位相加的和。”,下面有一个程序,但个别地方错了,能帮我找出来吗?

var
a,b,c,d,e,x,y:integer;
begin
readln(a);
c:=x mod 10;
y:=x div 10;
d:=x mod 10;
e:=x div 10;
b:=a mod 10;
x:=a div 10;
writeln(b+c+d+e);

end.

谢谢了!感激不尽!~~~~~~~~

你直接这样写嘛
program pyy;
var a:integer;
begin
readln(a);
repeat
writeln(a mod 10);
a:=a div 10;
until a<10;
writeln(a);
readln;
end.
这适用于-32767<n<32767的所有整数
只不过是从个位输出

program xiangjia;
var
a,b,c,d,x,y:integer;
begin
readln(x);
a:=x div 1000;
b:=(x div 100)-a*10;
c:=(x div 10)-a*100-b*10;
d:=x mod 10;
y:=b+c+d+a;
writeln(y);
readln();

end.