您现在的位置:小学生自学网>> 信息>> 学习电脑

求各数位上的数字之和(任意位数)

作者: 来源: 发布时间:2017年10月10日 点击数:
 

如果是一个确定位数的数,求各数位上数字之和,可以只用read 和write

如,确定输入的是一个三位数 346

 

 

readln(n);

a:=n mod 10;

b:=n div 10 mod 10;

c:=n div 100;

writeln(a+b+c);

 

 

 

但是如果是一个不确定位数的数字,那就不行了,只能使用while循环来编写

输入 1369  输出 19

readln(n);

s;=0;

while n>0 do

      begin

      x:=n mod 10;   //提取个数的数字

      n:=n div 10;  //把n的个数数字去掉,变成去掉个数的数

      s:=s+x;     把x里面存的个数数字累加起来

      end;

writeln(s);

 

列表格分析每一次的变化

 

X

n

s

循环开始前

0

1369

0

1次循环后

9

136

9

2次循环后

6

13

15

3次循环后

3

1

18

4次循环后

1

0

19