马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
http://noi.openjudge.cn/ch0106/10/
高精度加法
老师过了,我过不了:(
请问哪里错了#include <iostream>
using namespace std;
string s1,s2;
int a[1010],b[1010],c[1010];
int lena,lenb,lenc;
int main()
{
cin >> s1 >> s2;
lena = s1.length();
lenb = s1.length();
for(int i = 1;i <= lena;i++)
{
a[i] = s1[lena - i] - '0';
}
for(int i = 1;i <= lenb;i++)
{
b[i] = s2[lenb - i] - '0';
}
int m = 0;
lenc = lena;
if(lenb > lenc)
{
lenc = lenb;
}
for(int i = 1;i <= lenc;i++)
{
c[i] = (m + a[i] + b[i]) % 10;
m = (m + a[i] + b[i]) / 10;
}
if(m == 1)
{
lenc++;
c[lenc] = 1;
}
while(c[lenc] == 0 && lenc > 1)
{
lenc--;
}
for(int i = lenc;i >= 1;i--)
{
cout << c[i];
}
}
|