高精求助
  • 板块灌水区
  • 楼主huboxuan
  • 当前回复1
  • 已保存回复1
  • 发布时间2024/8/7 23:57
  • 上次更新2024/8/8 09:13:59
查看原帖
高精求助
1015155
huboxuan楼主2024/8/7 23:57
#include <bits/stdc++.h>
using namespace std;
void fun(),add();
int a[56],b[56];
int main(){
	fun(),add();
	int len=a[0]>b[0]?a[0]+1:b[0]+1; 
	while(a[len]==0)
		len--;
	if(a[len]==0&&b[len]==0){
		cout<<'0';//为什么加了特判却没有用
		return 0;
	}
	for(int i=len;i>=1;i--)
		cout<<a[i];
	return 0;
}
void fun(){
	char ca[55],cb[55];
	cin>>ca>>cb;
	a[0]=strlen(ca);
	for(int i=1;i<=a[0];i++)
		a[i]=ca[a[0]-i]-'0';
	b[0]=strlen(cb);
	for(int i=1;i<=b[0];i++)
		b[i]=cb[b[0]-i]-'0';
}
void add(){
	int len,carry=0,tmp;
	len=a[0]>b[0]?a[0]+1:b[0]+1;
	for(int i=1;i<=len;i++){
		tmp=a[i]+b[i]+carry;
		a[i]=tmp%10;
		carry=tmp/10;
	}
}
2024/8/7 23:57
加载中...