水题,想说爱你不容易 = =。。。
WA了数次,没有看到样例输出的1后面那个operation后面没有s!!!
我了个去 = =。
还有 中间有个小错误 记住了。
要是比赛的时候这样子,我就撞墙去吧。
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#include <string.h>
using namespace std;
int main(void)
{
char a[15],b[15];
int x[15],y[15];
while( scanf("%s %s",a,b)!=EOF && (strcmp(a,"0") || strcmp(b,"0")) )
{
memset(x,0,sizeof(x));
memset(y,0,sizeof(y));
int lena = strlen(a);
int lenb = strlen(b);
int count = 0;
for(int i=0; i<lena; i++)
x[lena-i-1] = a[i] - '0';
for(int i=0; i<lenb; i++)
y[lenb-i-1] = b[i] - '0';
for(int i=0; i<max(lena,lenb); i++)
{
x[i] += y[i];
}
for(int i=0; i<max(lena,lenb); i++)
{
if( x[i]>=10 )
{
x[i+1]++;
x[i] %= 10;
count++;
}
}
if( count == 0 )
printf("No carry operation.\n");
else
if( count == 1 )
printf("1 carry operation.\n");
else
printf("%d carry operations.\n",count);
}
return 0;
}