大整数的加法.c

来自「多数程序设计语言处理整数的能力是有限的」· C语言 代码 · 共 61 行

C
61
字号
#include<stdio.h>
void main()
{
	int m,n,a[100],b[100],c[100],i,j,k,h,p,s,g;i=j=k=p=s=g=0;c[0]=0;
	printf("请输入第一个数\n");
	while(1)
	{
		m=0;m=getchar();a[i]=m; i++;     
		if(m=='\n') break;
	}
	printf("请输入第二个数\n");
		while(1)
	{
		m=getchar();b[j]=m;j++;       
		if(m=='\n') break;
	}
		i=i-2;j=j-2;
		if(i>j) {k=i;h=1;}
		else {k=j;h=0;}
		g=k;
		while(i>-1&&j>-1)
		{
		
			c[k]=a[i]+b[j]-96;
			if(c[k]>9) p=1;
			while(p)
			{
				c[k]=c[k]-10; 
				if(i==0&&j==0) s=1;
				else 
					if(h) a[i-1]++;
					else b[j-1]++;
				p=0;
			}
			i--;j--;k--;
		}
		while(i>-1)
		{
			c[k]=a[i]-48; if(c[k]==10) {c[k]=0;if(k==0) s=1;else a[i-1]++;}
			k--;
			i--;
		}
		while(j>-1)
		{
			c[k]=b[j]-48; if(c[k]==10) {c[k]=0;if(k==0) s=1;else b[j-1]++;}
			k--;
			j--;
		}
		printf("结果为:\n");
		if(s==1)
			printf("%d",s);
		for(n=0;n<g+1;n++)
			printf("%d",c[n]);
		printf("\n");
}





⌨️ 快捷键说明

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