⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ajiab.txt

📁 计算两个可达2000位长的大数之和
💻 TXT
字号:
#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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -