hdu 1002 怎么老是wrong answer ??? 搜了半天,还是找不出我的错误在哪里,各位大牛帮忙看一下啊!多谢了
很简单的题,也很郁闷!!!急求解!!!#include<stdio.h>#include<string.h>#defineN1005chara[N],b[N],c[N],...
很简单的题,也很郁闷!!!急求解!!!
#include<stdio.h>
#include<string.h>
#define N 1005
char a[N],b[N],c[N],sa[N],sb[N];
int main()
{
int i,j,t,num,lena,lenb,len,carry;
scanf("%d",&t);
getchar();
for(num=1;num<=t;num++)
{
memset(sa,0,sizeof(a[0]));
memset(sb,0,sizeof(b[0]));
memset(c,0,sizeof(c[0]));
scanf("%s%s",a,b);
lena=strlen(a);
lenb=strlen(b);
strcpy(sa,a);strcpy(sb,b);
strrev(sa);strrev(sb);
for(i=0;i<lena;i++)
sa[i]=sa[i]-'0';
for(j=0;j<lenb;j++)
sb[j]=sb[j]-'0';
len=lena>lenb?lena:lenb;
carry=0;
for(i=0;i<len;i++)
{
c[i]=sa[i]+sb[i]+carry;
carry=c[i]/10;
c[i]=c[i]%10;
}
if(carry==1)
{
c[i]=1;
i++;
}
c[i]='\0';len=i;
for(i=0;i<len;i++)
c[i]=c[i]+'0';
strrev(c);
printf("Case %d:\n",num);
printf("%s + %s = %s\n",a,b,c);
if(num!=t)
printf("\n");
}
return 0;
} 展开
#include<stdio.h>
#include<string.h>
#define N 1005
char a[N],b[N],c[N],sa[N],sb[N];
int main()
{
int i,j,t,num,lena,lenb,len,carry;
scanf("%d",&t);
getchar();
for(num=1;num<=t;num++)
{
memset(sa,0,sizeof(a[0]));
memset(sb,0,sizeof(b[0]));
memset(c,0,sizeof(c[0]));
scanf("%s%s",a,b);
lena=strlen(a);
lenb=strlen(b);
strcpy(sa,a);strcpy(sb,b);
strrev(sa);strrev(sb);
for(i=0;i<lena;i++)
sa[i]=sa[i]-'0';
for(j=0;j<lenb;j++)
sb[j]=sb[j]-'0';
len=lena>lenb?lena:lenb;
carry=0;
for(i=0;i<len;i++)
{
c[i]=sa[i]+sb[i]+carry;
carry=c[i]/10;
c[i]=c[i]%10;
}
if(carry==1)
{
c[i]=1;
i++;
}
c[i]='\0';len=i;
for(i=0;i<len;i++)
c[i]=c[i]+'0';
strrev(c);
printf("Case %d:\n",num);
printf("%s + %s = %s\n",a,b,c);
if(num!=t)
printf("\n");
}
return 0;
} 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询