题目列表 > A + B
时间限制: 1000ms 内存限制: 1024MB
描述
输入两个正整数A和B, 求A+B的值
输入
两个正整数A, B
输出
A+B的和
-
样例输入
-
2 3
样例输出
-
5
代码:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
int main()
{
char a[101], b[101], c[101];
// memset(a,'0',sizeof(a));
// memset(b,'0',sizeof(b));
memset(c,'0',sizeof(c));
clock_t start, finish;
scanf("%s %s",&a,&b);
start = clock();
int lenA=strlen(a);
int lenB=strlen(b);
int lenMax=(lenA>lenB)?lenA:lenB;
int k = 100;
int i,j;
for ( i = lenA-1, j = lenB-1; i>=0 && j>=0; i--,j--)
{
int temp = c[k]-'0'+a[i]-'0'+b[j]-'0';
c[k--] = temp%10+'0';
c[k] = temp/10+'0';
}
while (i>=0)
{
int temp = c[k]-'0'+a[i]-'0';
c[k--] = temp%10+'0';
c[k] = temp/10+'0';
i--;
}
while (j>=0)
{
int temp = c[k]-'0'+b[j]-'0';
c[k--] = temp%10+'0';
c[k] = temp/10+'0';
j--;
}
//printf("%s",c);
bool isflag = true;
for (int m = 0; m <= 100; m++)
{
if (c[m]!='0'&&isflag)
{
//printf("%c", c[m]);
isflag=false;
}
if (!isflag)
{
printf("%c", c[m]);
}
}
finish=clock();
printf("\nthe time we spent is: %d",finish-start);
}