题解 | 数位之和

数位之和

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;
}

全部评论

相关推荐

狸猫换offer:神通广大的互联网
点赞 评论 收藏
分享
烤点老白薯:感觉这女生 有上位者的甲方心态 不适合处对象 也不清楚自己的竞争力 整得他有多懂似的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务