读书人

杭电acm1002不知道错哪了新手求指

发布时间: 2012-12-30 10:43:15 作者: rapoo

杭电acm1002,不知道哪里错了,新手求指点

#include<stdio.h>
#include<string.h>
char a[100],b[100];
int main()
{int t,len1,len2,i,j,k,temp,n,max;
char c[100];
static char a[100],b[100];
while(scanf("%d",&n)!=EOF)
{getchar();
for(t=1;t<=n;t++)
{ scanf("%s%s",a,b);
len1=strlen(a);
len2=strlen(b);
for(t=1;t<=n;t++)
{ scanf("%s%s",a,b);
len1=strlen(a);
len2=strlen(b);
for(i=0;i<len1/2;i++)
{ temp=a[i];
a[i]=a[len1-i-1];
a[len1-i-1]=a[i];
}
for(j=0;j<len2/2;j++)
{ temp=b[j];
b[j]=b[len1-j-1];
b[len1-j-1]=b[j];
}
for(k=0;k<len1||k<len2;k++)
{c[k]=a[k]+b[k]-48;
if(c[k]>'9')
{c[k]-=10;
c[k+1]+=1;
}
}
max=len1>len2?len1:len2;
printf("case %d:\n",t);
printf("%s+%s=",a,b);
for(i=0;i<max;i++)
{if(c[max]!='0')
printf("%c",c[max]);
printf("%c\n",c[max-i-1]);
}
printf("\n");
}
}
return 0;
}
[解决办法]
少了一个}

加在return 0; 之前。
[解决办法]


#include<stdio.h>
#include<string.h>
char a[100],b[100];
int main()
{
int t,len1,len2,i,j,k,temp,n,max;
char c[100];
static char a[100],b[100];
while(scanf("%d",&n)!=EOF) //EOF在linux中为-1,scanf返回值为读到的个数,这个while能退出吗?
{
getchar();
for(t=1;t<=n;t++)
{
scanf("%s%s",a,b);//这三步有什么意义么?
len1=strlen(a);
len2=strlen(b);
for(t=1;t<=n;t++)
{
scanf("%s%s",a,b);
len1=strlen(a);
len2=strlen(b);
for(i=0;i<len1/2;i++)
{
temp=a[i]; //这个地方是要交换么?
a[i]=a[len1-i-1];


a[len1-i-1]=a[i]; //这一步有意义吗?a[i]不就是a[len1-i-1]么?
}
for(j=0;j<len2/2;j++)
{
temp=b[j];
b[j]=b[len1-j-1];
b[len1-j-1]=b[j];
}
for(k=0;k<len1
[解决办法]
k<len2;k++)
{
c[k]=a[k]+b[k]-48;
if(c[k]>'9')
{
c[k]-=10;
c[k+1]+=1;
}
}
max=len1>len2?len1:len2;
printf("case %d:\n",t);
printf("%s+%s=",a,b);
for(i=0;i<max;i++)
{
if(c[max]!='0')
printf("%c",c[max]);
printf("%c\n",c[max-i-1]);
}
printf("\n");
}
}
}
return 0;
}


楼主你如果这样写代码的话,就不会出现一楼说的那种情况了。另外 运行了下 没明白你这个程序要干嘛。。。愚钝了。

读书人网 >C语言

热点推荐