ajiab.txt
来自「计算两个可达2000位长的大数之和」· 文本 代码 · 共 59 行
TXT
59 行
#include <stdio.h>
void main ()
{
int i,j,k,d,c,e,n,g,m,t;
int a[2000],b[2000],x[2000],y[2000],f[2000];
char h;
scanf("%d",&n);
getchar();
for(i=1;i<=n;i++)
{
for(j=0;j<=2000;j++)
{
a[j]=0;b[j]=0;x[j]=0;y[j]=0;f[j]=0;
}
for(j=1;(h=getchar())!=' ';j++)
{a[j]=h-'0';d=j;}
for(g=1;(m=getchar())!='\n';g++)
{b[g]=m-'0';c=g;}
if(d>=c) e=d;
else if (d<c) e=c;
for(j=1;j<=d;j++)
x[j]=a[d+1-j];
for(g=1;g<=c;g++)
y[g]=b[c+1-g];
for(k=1;k<=e+1;k++)
{
f[k]=x[k]+y[k];
if(f[k]>=10)
{t=f[k];f[k]=f[k]%10;x[k+1]=x[k+1]+t/10;}
}
if(f[e+1]==0)
{printf("Case %d:\n",i);
for(j=1;j<=d;j++)
printf("%d",a[j]);
printf(" + ");
for(j=1;j<=c;j++)
printf("%d",b[j]);
printf(" = ");
for(k=e;k>=1;k--)
printf("%d",f[k]);
if(i!=n) printf("\n\n");
else printf("\n");}
else if (f[e+1]!=0)
{printf("Case %d:\n",i);
for(j=1;j<=d;j++)
printf("%d",a[j]);
printf(" + ");
for(j=1;j<=c;j++)
printf("%d",b[j]);
printf(" = ");
for(k=e+1;k>=1;k--)
printf("%d",f[k]);
if(i!=n) printf("\n\n");
else printf("\n");}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?