题目描述
高精度加法,相当于a+b problem,不用考虑负数.
输入格式
分两行输入。a,b≤10500
输出格式
输出只有一行,代表a+b的值
输入输出样例
输入 #1复制
1 1
输出 #1复制
2
输入 #2复制
1001 9099
输出 #2复制
10100
思路:
判断两个数长度,分三种情况:两个数的长度相等,被加数的长度>加数的长度,被加数的长度<加数的长度
#include<stdio.h>
#include<string.h>
#include<math.h>
#define N 10005
char num1[N];
char num2[N];
int length1,length2,a,b,c,i,j;
void length1Da(int length1,int length2)//length1的长度大于length2的长度,把结果存入num1数组
{
a = length1;
b = length2;
while(b > 0) //加法进位取决于长度短的数组
{
a --;
b --;
c = num1[a] + num2[b]; //暂存到c中,用于判断是否需要进位
if(c >= 10) //大于等于10就进位
num1[a-1] += c/10;
num1[a] = c % 10;
}
while(--a)//如果a不等于0,接着判断是否需