如何对数字各位上的数字累加?

keekeep 2003-08-24 10:14:57
如果数字是1256
sum=1+2+5+6=14
sum=1+4=5

这个编程如何实现?初学类,望高手指点!!
...全文
195 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjxiaoyu 2003-08-26
  • 打赏
  • 举报
回复
不好意思, Zeroins() 的程序比我的好。
keekeep 2003-08-24
  • 打赏
  • 举报
回复
哦~~明白了!多谢啊~
zjxiaoyu 2003-08-24
  • 打赏
  • 举报
回复
呵呵,刚刚写了一下。c++的,vc6下通过。。
比如 123。 首先123%10得到3加到总和里面,123/10得到12。再类推将12分离。
#include <iostream>

using namespace std;

static int iSum = 0;

int make_sum(int iSrc)
{
if(iSrc < 10)
{
return (iSum + iSrc);
}
else
{
iSum += (iSrc % 10);
iSrc /= 10;
make_sum(iSrc);
}
}

void main(void)
{
cout << make_sum(12345) << endl;
}

能得到16。
Zeroins 2003-08-24
  • 打赏
  • 举报
回复
int n, sum = 0;
scanf ("%d", &n);
while (n)
{
sum += n % 10;
n /= 10;
}
keekeep 2003-08-24
  • 打赏
  • 举报
回复
但是这个数字是输入进去的,不是定好的,所以位数不确定啊,而且最后一定要累加到和为一位数为止,能给个代码吗?
smzh8 2003-08-24
  • 打赏
  • 举报
回复
用整除和求余数把各个位的数字取出,如1256/1000=1,1256/100%10=2,1256%100/10=5,1256%10=6

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧