题面
编写一个程序,读取一个整数并打印其各个数位之和。
输入
输入由多个数据集组成。对于每个数据集,在一行中给出一个整数x。x的位数不超过1000。
输入以一个0结束。您的程序不应处理这组数据。
输出
对于每个数据集,打印x的各个数位之和。
#include <iostream>
#include <string.h>
#include<string>
using namespace std;
int main()
{
char ch[10000000] = { 0 };
int* a = new int[10000];
int i = 0;
int j = 0;
int sum = 0;
int len;
while (1)
{
cin.getline(ch,10000000,'\n');
if (strcmp(ch,"0")==0)
break;
else
{
i = 0;
sum = 0;
len = strlen(ch);
while (1)
{
if (i >= len)break;
sum += ch[i] - '0';
i++;
}
a[j] = sum;
j++;
}
}
i = 0;
while (1)
{
if (i >= j)break;
cout << a[i] << endl;
i++;
}
return 0;
}