根据整数不同数位的权值来获取各个数位上的值。废话不多说,亮代码。
#include <string>
using namespace std;
int getDigitSum(int x){
string strNum=to_string(x);
int len=strNum.length();
int sum=0;
int digitPosWeight=1; //数位的权值
for(int i=0;i<len-1;++i){
digitPosWeight*=10;
}
for(int i=0;i<len;++i){
sum+=x/digitPosWeight;
x=x%digitPosWeight;
digitPosWeight/=10;
}
return sum;
}