用户:
Adorable_GJS查看:2 回复:2 评论:2 创建时间:2023-07-09T20:01:55
#include<bits/stdc++.h>
using namespace std;
int a[110] = {0},b[110] = {0},c[110] = {0};
int main(){
// freopen("gjadd.in","r",stdin);
// freopen("gjadd.out","w",stdout);
string str1,str2;
int yushu = 0,jinwei = 0, cc = 0;
cin>>str1>>str2;
int lena = str1.length(),lenb = str2.length();
for(int i = 0;i<lena;i++) a[i] = str1[lena-i]-'0';
for(int i = 0;i<lenb;i++) b[i] = str2[lenb-i]-'0';
for(int i = 0;i<max(lena,lenb);i++){
c[i] = (a[i]+b[i]+jinwei)%10;
if(a[i]+b[i]+jinwei>=10) jinwei=1;
else jinwei = 0;
}
if(jinwei == 1)
{
c[max(lena,lenb)]+=1;
cc = 1;
}
for(int i = 0;i<max(lena,lenb)+cc;i++)
cout<<c[i];
return 0;
}
求大佬指点帮助!!!感谢!!!
happy_chicken你用洛谷吗?
这个是正常的高精。
你后面判断写的太麻烦了。
你最好最好去个首0
你能回车就回车,写道一堆不好检查
#include <bits/stdc++.h>
using namespace std;
int main() {
string str1, str2;
cin >> str1 >> str2;
int l1 = str1.size(), l2 = str2.size(), j = 0, a[205] = {}, b[205] = {}, z[405] = {}, jw = 0;
for (int i = 1; i <= l1; i++)
a[i] = str1[l1 - i] - '0';
for (int i = 1; i <= l2; i++)
b[i] = str2[l2 - i] - '0';
int l3 = l1 > l2 ? l1 : l2;
for (int i = 1; i <= l3; i++) {
z[i] = a[i] + b[i] + jw;
jw = z[i] / 10;
z[i] %= 10;
}
jw ? l3++, z[l3] = jw : l3 = l3;
while (z[l3] == 0 && l3 > 1)
l3--;
for (int i = l3; i >= 1; i--)
cout << z[i];
return 0;
}点赞0
评论