试题编号: | 201512-1 |
---|---|
试题名称: | 数位之和 |
时间限制: | 1.0s |
内存限制: | 256.0MB |
问题描述: | 给定一个十进制整数n,输出n的各位数字之和。 |
输入格式 | 输入一个整数n。 |
输出格式 | 输出一个整数,表示答案。 |
样例输入 | 20151220 |
样例输出 | 13 |
样例说明 | 20151220的各位数字之和为2+0+1+5+1+2+2+0=13。 |
评测用例规模与约定 | 所有评测用例满足:0 ≤ n ≤ 1000000000。 |
分析:
把输入的数从最后面一个一个分离,相加,即可得到结果
比如:输入任意一个数x
x%10就可以分离出x的最后一位数
然后让x=x/10继续分离,最终就可以把所有数位都分离
#include <iostream>
using namespace std;
int main()
{
int x,i,s,q;
cin>>x;
for(i=1,s=0;i>0;i++)
{
q=x%10; //分离出输入的最后一位
s+=q;
x/=10;
if(x==0) break;
}
cout<<s;
return 0;
}