题目大意:
给一些大数,求合
解题思路:
将数字当做字符串一位一位求。
(注意细节就OK,相当于模板题)
代码:
#include <iostream>
#include <cstdio>
using namespace std;
int ans[105];
int main(){
string St;
while(cin>>St){
if (St.length()==1 && St[0] == '0') break;
int n = St.length();
for (int i = n - 1; i >= 0; i--){ // 在数组0位存字符串最大位
ans[n - i - 1] += St[i] - '0';
}
}
int i = 0;
for (i = 0; i < 104; i++){
int k = ans[i]/10; // 求进位
ans[i] = ans[i]%10; //当前位
ans[i + 1] += k;
}
while(ans[i] == 0) i--; // 前消0
for (int l = i;l >= 0;l --) printf("%d",ans[l]); // 从最高位输出
}