sicily的水题都很多好多大数操作。。。 #include <iostream> #include <cstring> #include <cmath> using namespace std; int ans[101]; char tmps[101]; int n; int main() { int n; while(cin >> n) { cin >> tmps; memset(ans, 0, sizeof(ans)); int len = strlen(tmps); int k = 0; for(int i = len - 1; i >= 0; i--) ans[k++] = tmps[i] - '0'; for(int i = 1; i < n; i++) { cin >> tmps; int carry = 0; int tLen = strlen(tmps); int j = tLen - 1; int l = 0; for(; j >= 0 || carry != 0; l++, j--) { if(j >= 0) ans[l] += tmps[j] - '0'; ans[l] += carry; carry = ans[l] / 10; ans[l] %= 10; } len = max(len, l); } for(int i = len - 1; i >= 0; i--) cout << ans[i]; cout << endl; } return 0; }