马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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];
- }
- }
复制代码 |