Advertisement
Guest User

713 Adding Reversed Numbers

a guest
Dec 13th, 2012
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.32 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<string.h>
  4. #include<math.h>
  5.  
  6. #define MAX 300
  7.  
  8.  
  9. void reverse(char *fnum,char *snum)
  10. {
  11.     int len,i;
  12.     len=strlen(fnum);
  13.     for(i=0;i<len;i++)
  14.     snum[i]=fnum[len-i-1];
  15.     snum[len]='\0';
  16. }
  17.  
  18. void add(char *first,char *sec,char *result)
  19. {
  20.     char F[MAX],S[MAX],R[MAX];
  21.     int flen,slen,now,extra,sum;
  22.     flen=strlen(first);
  23.     slen=strlen(sec);
  24.     reverse(first,F);
  25.     reverse(sec,S);
  26.     for(now=0,extra=0;(now<flen&&now<slen);now++)
  27.     {
  28.     sum=(F[now]-'0')+(S[now]-'0')+extra;
  29.     R[now]=sum%10+'0';
  30.     extra=sum/10;
  31.     }
  32.     for(;now<flen;now++)
  33.     {
  34.      sum=F[now]+extra-'0';
  35.     R[now]=sum%10+'0';
  36.     extra=sum/10;
  37.  
  38.     }
  39.  
  40.      for(;now<slen;now++)
  41.     {
  42.      sum=S[now]+extra-'0';
  43.     R[now]=sum%10+'0';
  44.     extra=sum/10;
  45.  
  46.     }
  47.     if(extra!=0)
  48.     R[now++]=extra+'0';
  49.     R[now]='\0';
  50.     if(strlen(R)==0)
  51.     strcpy(R,"0");
  52.     reverse(R,result);
  53.  
  54. }
  55.  
  56. int main()
  57. {
  58.     char f[MAX],s[MAX],r[MAX],f1[MAX],s1[MAX];
  59.     int i,len,t,flag;
  60.     scanf("%d",&t);
  61.     while(t--)
  62.     {
  63.     scanf("%s%s",&f1,&s1);
  64.     reverse(f1,f);
  65.     reverse(s1,s);
  66.     add(f,s,r);
  67.     len=strlen(r);
  68.     flag=0;
  69.     for(i=len-1;i>=0;i--)
  70.     {
  71.         if((r[i]==48)&&(flag==0));
  72.         else
  73.        {printf("%c",r[i]);
  74.         flag=1;
  75.        }
  76.     }
  77.     printf("\n");
  78.  
  79.     }
  80.     return 0;
  81. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement