Free Pascal问题 任意输入一个四位数,输出的结果是其各个数位上的数字之和
展开全部
var n,i,t:integer;
begin
write('input the number:');
readln(n);
if (n<1000)or(n>9999) then writeln('input error!');
t:=0;
for i:=1 to 4 do
begin
t:=t+n mod 10;
n:=n div 10;
end;
writeln('sum=',t);
readln
end.
这个和楼上差不多,只是运行起来美观点,而且可以报错(输入不是4位数的时候),就是报错了仍然会计算,为了简洁,就没填程序了,需要进一步帮助请给我留言
begin
write('input the number:');
readln(n);
if (n<1000)or(n>9999) then writeln('input error!');
t:=0;
for i:=1 to 4 do
begin
t:=t+n mod 10;
n:=n div 10;
end;
writeln('sum=',t);
readln
end.
这个和楼上差不多,只是运行起来美观点,而且可以报错(输入不是4位数的时候),就是报错了仍然会计算,为了简洁,就没填程序了,需要进一步帮助请给我留言
展开全部
用字符数组存储这N个数 再用ASCII码将字符类型的数字转换成整数数字
再加起来即可;
var
a:array[1..10000] of char;
i,s,n:longint;
begin
for i:=1 to 4 do
read(a[i]);
s:=0;
for i:=1 to 4 do
s:=s+(ord(a[i])-48);
writeln(s);
end.
如果不会用字符数组和循环 可以用笨办法;
var
a,s,c:longint;
begin
readln(a);
s:=0;
c:=a mod 10;
a:=a div 10;
s:=s+c;
c:=a mod 10;
a:=a div 10;
s:=s+c;
c:=a mod 10;
a:=a div 10;
s:=s+c;
c:=a mod 10;
a:=a div 10;
s:=s+c;
writeln(s);
end.
再加起来即可;
var
a:array[1..10000] of char;
i,s,n:longint;
begin
for i:=1 to 4 do
read(a[i]);
s:=0;
for i:=1 to 4 do
s:=s+(ord(a[i])-48);
writeln(s);
end.
如果不会用字符数组和循环 可以用笨办法;
var
a,s,c:longint;
begin
readln(a);
s:=0;
c:=a mod 10;
a:=a div 10;
s:=s+c;
c:=a mod 10;
a:=a div 10;
s:=s+c;
c:=a mod 10;
a:=a div 10;
s:=s+c;
c:=a mod 10;
a:=a div 10;
s:=s+c;
writeln(s);
end.
参考资料: http://zhidao.baidu.com/question/167497888.html
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
var i,j,s,n:longint;
begin
readln(n);
for i:=1 to 4 do begin
s:=n mod 10;
n:=n div 10;
end;
writeln(s);
end.
相当于每次把N的个位加到S里面,然后把N的个位截掉。
begin
readln(n);
for i:=1 to 4 do begin
s:=n mod 10;
n:=n div 10;
end;
writeln(s);
end.
相当于每次把N的个位加到S里面,然后把N的个位截掉。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
program add;
var
a,b,c,d,e;
begin
read(a,b,c,d);
e:=a+b+c+d;
writeln(e);
en.
var
a,b,c,d,e;
begin
read(a,b,c,d);
e:=a+b+c+d;
writeln(e);
en.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询