大数相加

#include<stdio.h>
#include<string.h>
int main()
{
	char a[100],b[100];
	int c[101];
	int stra,strb;
	gets(a);
	gets(b);
	stra=strlen(a);//得到a的长度
	strb=strlen(b);//得到b的长度
	int m=stra-1;//得到a的最后一个元素的序号
     int n=strb-1;//得到b的最后一个元素的序号
	 int p=0;//最大数相加要么是10-20要么0-10,所以p具有标记作用!
    for(int i=0;m>=0||n>=0;i++,m--,n--)
	{
		if(m>=0&&n>=0)
		{
            c[i]=a[m]+b[n]-2*'0'+p;//得到a[m],b[n]的实际数字,相加再存入整型数组c[i]中
		}
		else if(m>=0&&n<0)
		{
            c[i]=a[m]-'0'+p;
		}
		else if(n>=0&&m<0)
		{
           c[i]=b[n]-'0'+p;
		}
		p=0;
		if(c[i]>9)
		{
			c[i]=c[i]-10;p=1;
		}
	}
	if(p==1)
	{
		printf("%d",1);//这是当左后一次相加大于10的情况下进一位!
	}
	while(i--)
	{
		printf("%d",c[i]);
	}
	return 0;
}

相关文章

自1998年我国取消了福利分房的政策后,房地产市场迅速开展蓬...
文章目录获取数据查看数据结构获取数据下载数据可以直接通过...
网上商城系统MySql数据库设计
26个来源的气象数据获取代码
在进入21世纪以来,中国电信业告别了20世纪最后阶段的高速发...