社区讨论

为啥不输出??????求助!!

P1601高精度加法参与者 3已保存回复 6

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
6 条
当前快照
1 份
快照标识符
@lzxgdexn
此快照首次捕获于
2024/08/17 09:21
2 年前
此快照最后确认于
2024/08/17 11:39
2 年前
查看原帖
CPP
#include<bits/stdc++.h>
#define int long long
using namespace std;
const int M=5e2+5;
char s[M];
char s1[M];
int s2[M];
signed main()
{
	cin>>s>>s1;
	int a[M];
	int b[M];
	int len=strlen(s);
	int len1=strlen(s1);
	for(int i=0;i<len;i++)
	{
		a[i]=s[i]-'0';
	}
	for(int i=0;i<len1;i++)
	{
		b[i]=s1[i]-'0';
	}
	for(int i=0;i<len/2;i++)
	{
		swap(a[i],a[len-1-i]);
	}
	for(int i=0;i<len1;i++)
	{
		swap(b[i],b[len1-1-i]);
	}
	int len2=max(len,len1);
	for(int i=0;i<len2;i++)
	{
		s2[i]+=a[i]+b[i];
		s2[i+1]=s2[i]/10;
		s2[i]%=10;
	} 
	if(s2[len2]!=0)
	{
		len2++;
	}
	for(int i=len2;i>1;i--)
	{
		cout<<s2[i];
	}
}

回复

6 条回复,欢迎继续交流。

正在加载回复...