注意数组大小要给够,不然测试用例会失败

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