试题编号: 201512-1
试题名称: 数位之和
时间限制: 1.0s
内存限制: 256.0MB
问题描述:
问题描述
给定一个十进制整数n,输出n的各位数字之和。
输入格式
输入一个整数n。
输出格式
输出一个整数,表示答案。
样例输入
20151220
样例输出
13
样例说明
20151220的各位数字之和为2+0+1+5+1+2+2+0=13。
评测用例规模与约定
所有评测用例满足:0 ≤ n ≤ 1000000000。
方法一 直接遍历输出
#include <iostream>
#include <cstring>
#include <cmath>
#include <map>
#define N 1000
int a[N+1];
using namespace std;
int number;
int main()
{
int num=0;
memset(a,0,sizeof(a));
string s;
cin>>s;
//第一种
// for(int i=0;i<s.size();i++){
// num=num+s[i] - '0';
// }
// 第二种
string::iterator it = s.begin();//返回第一个位置的迭代器(类似于指针)
while (it != s.end())//str.end()是最后一个数据的下一个位置
{
num += (*it - '0');
it++;
}
cout<<num;
return 0;
}
c++遍历数字字符串
方法一
for(int i=0;i<s.size();i++){
num=num+s[i] - '0';
}
方法二
string::iterator it = s.begin();//返回第一个位置的迭代器(类似于指针)
while (it != s.end())//str.end()是最后一个数据的下一个位置
{
num += (*it - '0');
it++;
}