Calculate a + b
Input
The input will consist of a series of pairs of integers a and b,separated by a space, one pair of integers per line.
Output
For each pair of input integers a and b you should output the sum of a and b in one line,and with one line of output for each line in input.
Sample Input
1 5
Sample Output
6
Hint
Use + operator
输入输出我就懒得写了
-------------------------
#include "stdafx.h"
#include <string.h>
#include <stdlib.h>
#define MAX_LENGTH 256
void Add(char *psz1, char *psz2, char *psz_sum)
{
// ASSERT(psz1 && psz2 && psz_sum);
int len_psz1 = strlen(psz1);
int len_psz2 = strlen(psz2);
int Max_len = len_psz1 > len_psz2 ? len_psz1 : len_psz2;
int Carry = 0;
psz_sum[Max_len + 1] = '/0';
for(int index = 0; index < Max_len; index++)
{
if (len_psz1 - index - 1 >= 0 && len_psz2 - index - 1 >= 0)
{
psz_sum[Max_len - index] = psz1[len_psz1 - index - 1] + psz2[len_psz2 - index - 1] - '0' + Carry;
}
else if (len_psz1 - index - 1 < 0)
{
psz_sum[Max_len - index] = psz2[len_psz2 - index - 1] + Carry;
}
else
{
psz_sum[Max_len - index] = psz1[len_psz1 - index - 1] + Carry;
}
if(psz_sum[Max_len - index]>'9')
Carry = (psz_sum[Max_len - index] - '0') / 10;
else
Carry = 0;
psz_sum[Max_len - index] = psz_sum[Max_len - index] - Carry * 10;
}
psz_sum[0] = Carry + '0';
if (psz_sum[0] = '0')
{
for (int index = 0; index < Max_len; index++)
{
psz_sum[index] = psz_sum[index + 1];
}
}
}
int _tmain(int argc, _TCHAR* argv[])
{
char a[MAX_LENGTH] = "123456789000000";
char b[MAX_LENGTH] = "987654321";
char c[MAX_LENGTH] = "";
Add(a,b,c);
int len = strlen(c);
for (int index = 0; index < len; index++)
{
printf("%c", c[index]);
}
system("pause");
return 0;
}