如果是一个确定位数的数,求各数位上数字之和,可以只用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 |
下一篇:用while循环获得逆序数
五年级上册解方程练… | 255248 |
九连环图解解法 | 226584 |
wifi万能钥匙破解的… | 177749 |
纸飞机Skyking(空… | 170620 |
小学语文知识大全(… | 151961 |
各种鱼钩鱼线绑法与… | 116672 |
课题研究的方法有哪些 | 113401 |
人教版pep小学英语… | 104164 |
小学语文知识大全(… | 96683 |
人教版pep小学英语… | 95795 |
小学数学五年级上册… | 92574 |
人教版pep小学英语… | 82374 |
小学语文知识大全(… | 80271 |
笔记本电脑如何关闭… | 79728 |
小学生六一搞笑小品… | 78775 |
不打结的红领巾系法… | 77911 |