1.逐位相加
/** 问题描述:输入一个数字,实现把数字的每位加起来
* 问题分析:对10取余,得到最低位数,加,然后将该数除10,直到该数为0
* 作者:李孝武
* 时间:2015.01.06
*/
#include<iostream>
using namespace std;
int main()
{
int s,sum=0;
cin>>s;
while(s!=0)
{
sum+=(s%10); //得到最低位的值
s/=10; //将最低位删除
}
cout<<sum<<endl;
return 0;
}
2.转化为字符串
#include<iostream>
#include<string>
using namespace std;
int main()
{
string s;
int sum=0;
unsigned int i; //s.size()的返回值是无符号类型的
cin>>s;
for(i=0; i!=s.size(); ++i)
{
sum=sum+(int)(s[i]-'0');
}
cout<<sum<<endl;
return 0;
}