c++输入一个整数N,求各位上的数字和。 请尝试用处理字符串的方式计算

题目描述:
输入一个整数N,求各位上的数字和。
请尝试用处理字符串的方式计算

输入格式:
一个数字N

输出格式:
输出格式见题目描述

样例输入:
12345

样例输出:
15

约定:
N的长度小于等于100

你好!仅供参考

#include <iostream>
using namespace std;
int main(){
    char a[100];
    int s, i;
    cout<<"请输入一个整数:"<<endl;
    cin>>a;
    s = 0;
    for(i=0; a[i]!='\0';i++)s+=a[i]-'0';
    cout<<s<<endl;
    return 0;
}

#include <iostream>
using namespace std;
int main()
{
    char ch;
    int sum = 0;
    while(true)
    {
        ch = cin.get();
        if(ch >= '0' && ch <= '9')
            sum += ch - '0';
        else
            break;
    }
    cout << sum <<endl;
    return 0;
}