1 条题解

  • 0
    @ 2025-3-2 15:02:52
    #include<bits/stdc++.h>
    using namespace std;
    int main()
    {
                char a1[10001],b1[10001];
                 int a[10001],b[10001],c[20002],lena,lenb,lenc,i,j,x;
                 memset(a,0,sizeof(a));
                 memset(b,0,sizeof(b));
                 memset(c,0,sizeof(c));
                 scanf("%s",a1);                             //gets改成scanf
                 scanf("%s",b1);
      	lena=strlen(a1);
      	lenb=strlen(b1);
      	for (i=0;i<=lena-1;i++) a[lena-i]=a1[i]-48;    	//加数放入a数组
        for (i=0;i<=lenb-1;i++) b[lenb-i]=b1[i]-48;               //加数放入b数组
      	lenc=1;
      	x=0;
    while (lenc <=lena||lenc <=lenb)
    	{
    		c[lenc]=a[lenc]+b[lenc]+x;     //两数相加
    		x=c[lenc]/10;
    		c[lenc]%=10;
    		lenc++;
    	}
    	c[lenc]=x; 
    	if (c[lenc]==0)
    		lenc--;                                    //处理最高进位
    	for (i=lenc;i>=1;i--) 
    	   cout<<c[i];                                   //输出结果
    	cout<<endl;
    	return 0;
    }
    

    信息

    ID
    485
    时间
    1000ms
    内存
    256MiB
    难度
    1
    标签
    递交数
    103
    已通过
    17
    上传者