#include <stdio.h>
#include <String.h>
#define Max 1002
void print(char []);
void addBigNum(char a[],char b[],char sum[]);
int main()
{
char a[Max] = {0};
char b[Max] = {0};
char sum[Max] ={0};
gets(a);
gets(b);
addBigNum(a,b,sum);
print(sum);
return 0;
}
void addBigNum(char a[],char b[],char sum[])
{
int i=0;
int temp = 0;//进位的时候用
char m[Max] = {0};
char n[Max] = {0};
int lenA = strlen(a);
int lenB = strlen(b);
for(i=0; i<lenA; i++)
{
m[i] = a[lenA-1-i]-'0';
}
for(i=0; i<lenB; ++i)
{
n[i] = b[lenB-1-i]-'0';
}
for(i=0; i<lenA||i<lenB; i++)
{
sum[i] = (m[i]+n[i]+temp)%10 + '0';
temp = (m[i]+n[i]+temp)/10;
}
int len_max = lenA>lenB? lenA:lenB;
if(temp!=0)
{
sum[len_max] = 1+'0';
}
}
void print(char arr[])
{
int i=0;
int j=0;
int len = strlen(arr);
for(i=len-1; i>=0; --i)
{
printf("%c",arr[i]);
}
printf("\n");
}
C语言---大数相加
最新推荐文章于 2024-01-21 00:14:16 发布