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

📄 超长整数相加.c

📁 超长整数相加 简单 明了
💻 C
字号:
#include <stdio.h>
main()
{
    char a[100],b[100];
	int v,i=0,j=0,k,t=1,x,y,z,d[100],m=0,r;
	while((v=getchar())!='\n'&&v!=EOF)
	{
		a[i]=v;
		i++;
	}
	while((v=getchar())!='\n'&&v!=EOF)
	{
		b[j]=v;
		j++;
	}
	if(i<=j)
	{
		z=a[i-1]-'0'+b[j-1]-'0';
		if(z>9)
		{
			d[0]=z-10;
			m=1;
		}
		else
			d[0]=z;
		r=j-2;
		for(k=i-2;k>=0;k--)
		{
			x=a[k]-'0';
			y=b[r]-'0';
			z=x+y+m;
			r--;
			if(z>9)
			{  
				d[t]=z-10;
				m=1;
				t++;
			}
			else
			{
				d[t]=z;
				m=0;
				t++;
			}
		}
		if(m==1&&t>=j)
			d[t++]=1;
		else
		{
		   d[t]=b[j-t-1]+m-'0';
		 for(t=i+1;t<j;t++)
			d[t]=b[j-t-1]-'0';
		}
	}
	else
	{
		z=a[i-1]-'0'+b[j-1]-'0';
		if(z>9)
		{
			d[0]=z-10;
			m=1;
		}
		else
			d[0]=z;
		r=i-2;
		for(k=j-2;k>=0;k--)
		{
			x=a[r]-'0';
			y=b[k]-'0';
			z=x+y+m;
			r--;
			if(z>9)
			{  
				d[t]=z-10;
				m=1;
				t++;
			}
			else
			{
				d[t]=z;
				m=0;
				t++;
			}
		}
		if(m==1&&t>=i)
			d[t++]=1;
		else
		{
		   d[t]=a[i-t-1]+m-'0';
		 for(t=j+1;t<i;t++)
			d[t]=a[i-t-1]-'0';
		}
	}
	m=t;
	for(i=t-1;i>=0;i--)
	{
		if(d[i]!=0)
			break;
		else
			m--;
	}
	for(i=m-1;i>=0;i--)
		printf("%d",d[i]);
}







⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -