这个高精加为什么总是多输出一个零啊??
  • 板块学术版
  • 楼主Surge_of_Force
  • 当前回复3
  • 已保存回复3
  • 发布时间2021/1/8 19:57
  • 上次更新2023/11/5 05:02:08
查看原帖
这个高精加为什么总是多输出一个零啊??
230875
Surge_of_Force楼主2021/1/8 19:57
#include<cstdio>
#include<iostream>
#include<cstring>
using namespace std;
char s1[1000],s2[1000];
int a[500],b[500],n=1;
int main(){
	scanf("%s%s",s1,s2);
	a[0]=strlen(s1);
	b[0]=strlen(s2);
	for(int i=1;i<=a[0];i++)
		a[i]=int(s1[a[0]-i]-'0');
	for(int i=1;i<=b[0];i++)
	    b[i]=int(s2[b[0]-i]-'0');
	while(n<=a[0]||n<=b[0])
	{
		a[n]+=b[n];
		a[n+1]+=a[n]/10;
		a[n]%=10;
		n++;
	}
	if(a[n+1]!=0)
	n--;
	for(int i=n;i>=1;i--)
	printf("%d",a[i]);
	return 0;
}
2021/1/8 19:57
加载中...