【解题思路】
取得一个正整数各位数字之和,首先就是要分离出各位上的数字。可以通过取余运算符(%)和除号(/)来完成,具体的思路如下:比如要求123这个整数各位数字的和。
第一步是先将123除以10取余数,得到3;
第二步是把123除10取整得到12,然后再把12除10取余得到2;
第三步是把12除10取整得到1,然后再把1除10取余得到1,
然后一直重复,直到原来的那个数为零。这个过程中实现累计就可以了,具体的代码如下:
【程序代码】
#include <iostream> //控制台操作头文件
int main() //主函数
{int A,B,C,i; //变量声明
do{printf("请输入一个数字(0退出):"); //提示输入数字
scanf("%d",&A); //从键盘输入数字赋值给A
C=A; //让C等于A的值
B=C%10; //让B等于C除以10取余数
while(C=C/10) B=B+C%10; //用循环取出各位数字并累加
printf("%d各位数之和是%d\n\n",A,B);//显示各位数和的结果
}while(A);
system("PAUSE"); //屏幕暂停,以便看到显示结果
return 0; //结束程序
}
【运行结果】
以上程序在DEV C++中运行通过
![](https://video.ask-data.xyz/img.php?b=https://iknow-pic.cdn.bcebos.com/9a504fc2d5628535ef6f94829aef76c6a6ef6381?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto)