杭电acm1720

http://acm.hdu.edu.cn/showproblem.php?pid=1720

wa看不出哪里错了

#include<stdio.h>
#include<string.h>
int main()
{
    int a[1000],b[1000],sum[1010],i,j,len,s,k,l;
    char sa[1000],sb[1000];
    while(scanf("%s %s",sa,sb)!=EOF)
    {
       
       for(i=0;i<1000;i++)
       sum[i]=0;
       for(i=strlen(sa);i>=0;i--)
       {
          if(sa[i]>='a')
          a[i]=sa[i]-'a'+10;
          else if(sa[i]>='A')
          a[i]=sa[i]-'A'+10;
          else a[i]=sa[i]-'0';
       }
       for(i=strlen(sb);i>=0;i--)
       {
          if(sb[i]>='a')
          b[i]=sb[i]-'a'+10;
          else if(sb[i]>='A')
          b[i]=sb[i]-'A'+10;
          else b[i]=sb[i]-'0';
       }
       i=j=k=0;
       while(i<strlen(sa)||j<strlen(sb))
       {
          if(i==strlen(sa))
          sum[k]=b[j++];
          else if(j==strlen(sb))
          sum[k]=a[i++];
          else sum[k]=a[i++]+b[j++];
          k++;
       } 
       if(strlen(sa)>strlen(sb))
       l=strlen(sa)-1;
       else l=strlen(sb);
       for(i=0;i<l;i++)
       if(sum[i]>15)
       {
          sum[i+1]++;
          sum[i]-=16;
       }
       while(sum[l]>15)
       {
         sum[l+1]++;
          sum[l]-=16;
          l++;
       }
       s=sum[l];
       while(l--)
          s=s*16+sum[l];
       printf("%d\n",s);
    }
    return 0;
}
View Code

超简单代码,原来可以直接输入

#include <stdio.h>

int main()
{
    int a,b;

    while(scanf("%x%x",&a,&b)!=EOF)
    {
        printf("%d\n",a+b);
    }

    return 0;
}
View Code

 

posted @ 2013-05-29 14:34  执着追求的IT小小鸟  阅读(202)  评论(0编辑  收藏  举报