永发信息网

pascal语言:输入一个正整数,计算它各数位之和

答案:1  悬赏:50  手机版
解决时间 2021-08-19 22:41
pascal语言:输入一个正整数,计算它各数位之和
(数字数位不限,类型为longint)
最佳答案

这个其实可以用多种方法实现
方法1:分离数字法
var
x,l,s:longint;
begin
read(x);
while x>0 do
begin
l:=x mod 10;
inc (s,l);
x:=x div 10;//当前位完成计数后,去掉
end;
write(s);
end.
方法2:转字符串法
var
s:string;
x,ans:longint;
begin
read(x);
str(x,s);
for i:=1 to length(s) do
inc (ans ,ord(s[i])-48 ); //即进行字符与数字之间的转换
write(ans);
end.
个人认为第二种方法较好!
再问: 帮我改一下这个程序:
var
a,n,s,d:longint;
begin
read(a);
s:=0;
while n>0 do
begin
d:=a mod 10;
s:=s+d;
n:=a div 10;
s:=s+n;
end;
writeln(s);
end.
就是这个题目。
再答: var
a,n,s,d:longint;
begin
read(a);
s:=0;
while a>0 do// 改为a
begin
d:=a mod 10;
s:=s+d;
a:=a div 10;
//n:=a div 10;
//s:=s+n; 这2个语句不用加
//说明一下,变量n其实在这里并不需要,只要实现数字的自身分离就好了
end;
writeln(s);
end.
另外抱歉一下,昨天我的第二个程序没有定义循环变量i 。谢谢采纳!


我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
在CF上海一区里可以刷分吗?如果可以怎么刷啊
扶沟县周口龙祥副食批发部怎么去啊,谁知道地
以前坏事做多了,现在想做个好人,为什么这么
get through 当通过,穿过讲时,请造个句子
战斗剑专贼输出手法和宏
战乱忧国诗词,描写战乱的诗词
说人老了的句子,求哀叹人老的诗句和说老人比
IPhone4中国联通的合约机什么时候才能开始发
《极速蜗牛》主要内容?
武昌区武汉沐兰酒店(武昌店)地址在什么地方,
办公室搬迁祝福句子,办公室乔迁送礼送什么
怀孕期间喝孕妇奶粉会过敏吗?我以前喝的是伊
感恩的四字词语
请问仁寿县文宫区有哪些高中!告诉我啊!本人
(夕阳晚照)随意对对联九十七
推荐资讯
睢县商丘昂立国际教育地址在哪,我要去那里
太空竞技场的地图在哪里?
毕业赠言手抄报六年级,古诗词手抄报简单漂亮
被噩梦惊醒的诗句,有一句话怎么说来着:噩梦惊
全面战争光碟的安装问题
为什么我的QQ炫舞下好安装包安装不了
艾姓氏怎么读,咎上面一个日读什么
孩子户口怎么迁
为什么一个男生一直在观察分析一个女生?
七夕单身在那过呢
为什么我买的系统盘装不了系统?
赛尔号闪光利利绝版了吗?,没的话怎么抓,最
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?