第五个点WA,人傻了
查看原帖
第五个点WA,人傻了
723198
AAA404楼主2022/7/19 12:26

前四个点非常好,全对,第五个点68位之后出问题了

#include<bits/stdc++.h>
using namespace std;
char a[501],b[501],c[502];
int main()
{
//	freopen(".in","r",stdin);
//	freopen(".out","w",stdout);
	scanf("%s",&a);
	scanf("%s",&b);
	int lena=strlen(a);
	int lenb=strlen(b);
	if(lena!=lenb)
	{
		if(lena>lenb)
		{
			for(int i=0;i<lenb;i++)
			{
				b[lena-lenb+i]=b[i];
			}
			for(int i=0;i<lena-lenb;i++)
			{
				b[i]='0';
			}
			lenb=lena;
		}
		else
		{
			for(int i=0;i<lena;i++)
			{
				a[lenb-lena+i]=a[i];
			}
			for(int i=0;i<lenb-lena;i++)
			{
				a[i]='0';
			}
			lena=lenb;
		}
	}
	int lenc=0,x=0;
	while(lenc<lena || lenc<lenb)
	{
		int s=a[lena-lenc-1]-48+b[lenb-lenc-1]-48+x;
		c[lenc]=s%10+48;
		x=s/10;
		lenc++;
	}
	if(x!=0)
	cout<<x;
	for(int i=lenc-1;i>=0;i--)
	cout<<c[i];
	return 0;
}

输入是 350204156568812004512541458715942878921069349854678 5120132301230048014584016540526804565814706519846494321001345794503242112976563432120 标准输出是 5120132301230048014584016540526804916018863088658498833542804510446121034045913286798 我的输出是 5120132301230048014584016540526804916018863088658498833542804510446077133392220313320 求助

2022/7/19 12:26
加载中...