51Nod 1005大数加法

1005 大数加法 
基准时间限制:1 秒 空间限制:131072 KB 分值: 0  难度:基础题
 收藏
 关注
给出2个大整数A,B,计算A+B的结果。
Input
第1行:大数A
第2行:大数B
(A,B的长度 <= 10000 需注意:A B有可能为负数)
Output
输出A + B
Input示例
68932147586
468711654886
Output示例

537643802472

写了很久,唉,实力太弱了,主要是细节有点多。我先写了俩函数,一个是正数加法的,一个是正数减法的,然后就是判断情况,分为正正,负负,正负,负正。最后还有就是全0的情况,还有前面有零的情况。中间还写了一个判断俩字符串大小的函数,简单来说,就这些吧。我函数名字就是拼音,还是很好认的、晚安:附代码:
#include 
using namespace std; 

typedef long long int ll;
int jiafa(char *a,int lena,char *b, int lenb,char *c) 
{
	for(int i=0;i9)
		{
			c[k]=num-10;
			flag=1;
		}
		else {
			c[k]=num;
			flag=0;
		}
		k++;
	}
	if(flag==1)
	c[k++]=1;
	for(int i=0;ilenb)
	flag=1;
	else if(lena==lenb)
	{
		for(int i=lena-1;i>=0;i--)
		{
			if(a[i]>b[i])
			{
				flag=1;
				break;
			}
			else {
				flag=0;
				break;
			}
		}
	}
	return flag;
}
int panling(char *a,int lena)
{
	int flag=0;
	for(int i=0;i


你可能感兴趣的:(51Nod)