A+B Problem Time Limit:1Sec Input File:aplusb.in Calculate a
1个回答

//DEV CPP编译通过~

#include

#include

#include

#define MAX_SIZE 100 // 最大位数

char n1[MAX_SIZE] = ""; // 第一个整数

char n2[MAX_SIZE] = ""; // 第二个整数

char n3[MAX_SIZE+1] = ""; // 两个整数之和

void do_sum();

int main(void)

{

//读取两个整数

printf("第一个整数为:");

scanf("%s", n1);

printf("第二个整数为:");

scanf("%s", n2);

do_sum();//求和

FILE *fp;

if((fp=fopen("aplusb.in","w"))==NULL)//保存结果

{

fprintf(stderr,"不能打开文件.n");

exit(1);

}

int size=strlen(n3);

for(int n=0;n= 0) && (Len2 >= 0); Len1--, Len2--)

{

n3[n] = n1[Len1] - '0' + n2[Len2] - '0' + Carry;

Carry = n3[n] / 10;

n3[n] %= 10;

n++;

}

for(; Len1 >= 0; Len1--)

{

n3[n] = n1[Len1] - '0' + Carry;

Carry = n3[n] / 10;

n3[n] %= 10;

n++;

}

for(;Len2 >= 0; Len2--)

{

n3[n] = n2[Len2] - '0' + Carry;

Carry = n3[n] / 10;

n3[n] %= 10;

n++;

}

printf("两数之和为");

for(n--; n >= 0; n--)

{

printf("%d", n3[n]);

}//输出和

printf("n");

}