蒟蒻一个,不懂就问
查看原帖
蒟蒻一个,不懂就问
364319
DIgnited楼主2020/8/31 18:02
//P1601
//高精度加法 
#include<bits/stdc++.h>
#define pr printf
#define sc scanf
#define me memset
#define st strlen
using namespace std;
int main()
{
	
	int a[1000],b[1000],c[1000];
	char x[1000],y[1000];
	me(a,0,sizeof(a));//初始化 r
	me(b,0,sizeof(b));//初始化 r
	me(c,0,sizeof(c));//初始化 r
	sc("%s%s",x,y);//输入 r
	int la=st(x),lb=st(y),ml=max(la,lb);//长度 r
	for(int i=0;i<=la-1;i++)
    a[la-1-i]=x[i]-'0';//转数字数组 
	for(int i=0;i<=lb-1;i++)
    b[lb-1-i]=y[i]-'0';//同上  
	for(int i=0;i<=ml-1;i++)
	{
		c[i]=a[i]+b[i];//加法  
		if(c[i]>=10)c[i]%=10;c[i+1]++;//进位 
if(c[i]>=10&&i==ml)c[i]%=10;c[i+1]++;ml++;//进位 
	}
	for(int i=ml-1;i>=0;i--)
		pr("%d",c[i]);
	return 0;
}

请问一下哪错了? 为什么输出不全?

2020/8/31 18:02
加载中...