大整数加法
多组两个不大于100位的整数相加
#include<iostream>#include<string>using namespace std;char t[100][100];int q,m;void add(string a,string b){ int c[102],tail=0,head=0,p=0;int i=a.length()-1;int j=b.length()-1;while(i>=0||j>=0){if(i>=0&&j>=0)p=(int)a[i]+(int)b[j]+p-'0'-'0';else if(i>= 0&&j<0)p=(int)a[i]-'0'+p;else if(i< 0&&j>=0)p=(int)b[j]+p-'0';c[tail++ ]=p%10;p=p/10;i--;j-- ;}if(p!=0)c[tail++]=p;for(int k=tail-1;k>=head;k--)t[q][m++]=c[k]+'0';}int main(){int n;string a,b;cin>>n;for(q=0;q<n;q++){ m=0; cin>>a>>b;add(a,b);}for(q=0;q<n;q++){ cout<<t[q]<<endl;}return 0;}