连续高精加
时间限制: 1 Sec 内存限制: 128 MB
题目描述
对给所给的若个个数值,计算出他们的总和
Input
每行数据代表一个加数
Output
输出所有加数的总和
Sample Input
1
1
1
1
Sample Output
4
分析:我们只需要把高静加放在一个函数里,然后每次调用即可
#include<iostream>
#include<cstring>
using namespace std;
string s[6666],ans;
inline string add(string str1,string str2) {
string str;
int len1=str1.length();
int len2=str2.length();
if(len1<len2) {
for(int i=1;i<=len2-len1;i++)
str1="0"+str1;
}
else {
for(int i=1;i<=len1-len2;i++)
str2="0"+str2;
}
len1=str1.length();
int cf=0,temp;
for(int i=len1-1;i>=0;i--) {
temp=str1[i]-'0'+str2[i]-'0'+cf;
cf=temp/10; temp%=10;
str=char(temp+'0')+str;
}
if(cf) str=char(cf+'0')+str;
return str;
}
int main() {
int cnt=0;
while(cin>>s[++cnt]);
for(int i=1;i<=cnt;i++) {
ans=add(ans,s[i]);
}
cout<<ans;
return 0;
}