首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

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

2012-12-30 
杭电acm1002,不知道哪里错了,新手求指点#includestdio.h#includestring.hchar a[100],b[100]int main

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


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

热点排行