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

杭电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];