注意数组大小要给够,不然测试用例会失败
#include <iostream>
using namespace std;
int main(){
string str;
int s[103] = {0};
int i,j;
while (cin >>str && str.size() != 1){
//累和存到s数组
for ( i = str.size()-1,j=102; i >=0 ;i--){
s[j--] += str[i]-'0';
}
//进位
for (i = 102; i >= 0;i--){
if (s[i] >= 10){
s[i-1] += s[i]/10;
s[i] %= 10;
}
}
}
//输出
i = 0;
while (s[i] == 0)i++;
for (i; i < 103;i++){
cout <<s[i];
}
cout <<endl;
}

京公网安备 11010502036488号