PASCAL程序设计问题:

来源:百度知道 编辑:UC知道 时间:2024/05/10 04:39:00
输入一个整数,计算它各位上数字的和。(注意:是任意位的整数)

program DoSum;
var
I, SumI: Integer;
begin
Write('Input a number: ');
Readln(I);
I := Abs(I); {确保I为正数}
SumI := 0;
while I > 0 do
begin
SumI := SumI + I mod 10; {取得最低一位, 加到SumI}
I := I div 10; {去掉最低一位}
end;
Writeln('它的各位数字之和是: ', SumI);
end.

现编的, 没有调试, 所以不知语法有没有问题, 不过意思就是这个意思. 你自己运行一下试试.

无限位数所以:
以字符读入
program DOIT;
var
l:real;
c:char;
begin
assign(input,'aa.in'); {输入在aa.in中}
reset(input);
l:=0;
while not eof do begin
read(c);
l:=l+ord(c)-48;
end;
close(input);
writeln(r:0:0);
end.
打的,没试。

program aa;
var
number :string;
shu:real;
t,tt:integer;
begin
readln(number);
t:=len(number);
for tt:=1 to t do shu:=shu+(ord(number[tt])-48)
writeln(shu);
end.

program kk;
var f:str