题解 | 数位之和
数位之和
https://www.nowcoder.com/practice/5e85cc26475449648e668aa98e92d05b
题干解读:给出数n,求他的每一位数的和.
解题思路:先将n转换为绝对值,再将其对10取余,得到末尾数字,存放到数组s中,再将n对于10整除,得到去掉末尾一个数字后的n,后依次按上述方法取末位数直到只有一位数为止,再将每次取出的数相加即可.
#include <iostream>
#include<cmath>
using namespace std;
int main() {
long n;
cin>>n;
n = abs(n);//取绝对值
int s[9];
int k=0;
while(n>=10){
s[k++] = n%10;
n /=10;
}
s[k++]=n;
int sum=0;
for(int i=0;i<k;i++){
sum+=s[i];
}
cout<<sum;
}
查看1道真题和解析