c++解决A+B for Input-Output Practice (VIII)
1个回答
展开全部
杭电AC:
#include <iostream>
#include <string>
#include <vector>
using namespace std;
int a[1000];
int p=0;
void check(int i)
{
while(a[i]>9)
{
a[i+1]+=a[i]/10;
a[i]%=10;
i++;
}
}
void add(int h)
{
int i=0;
while(h>0)
{
a[i]+=h%10;
check(i);
h/=10;
i++;
}
p=i>p?i:p;
}
int main()
{
int n,m,h;
cin>>n;
while(n--)
{
memset(a,0,sizeof(a));
cin>>m;
for(int k=0;k<m;k++)
{
cin>>h;
add(h);
}
for(k=p;k>=0;k--)
{
if(a[k]==0 && k==p) continue;
cout<<a[k];
}
cout<<endl;
if(n!=0)
cout<<endl;
}
return 0;
}
#include <iostream>
#include <string>
#include <vector>
using namespace std;
int a[1000];
int p=0;
void check(int i)
{
while(a[i]>9)
{
a[i+1]+=a[i]/10;
a[i]%=10;
i++;
}
}
void add(int h)
{
int i=0;
while(h>0)
{
a[i]+=h%10;
check(i);
h/=10;
i++;
}
p=i>p?i:p;
}
int main()
{
int n,m,h;
cin>>n;
while(n--)
{
memset(a,0,sizeof(a));
cin>>m;
for(int k=0;k<m;k++)
{
cin>>h;
add(h);
}
for(k=p;k>=0;k--)
{
if(a[k]==0 && k==p) continue;
cout<<a[k];
}
cout<<endl;
if(n!=0)
cout<<endl;
}
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询