Chinaunix首页 | 论坛 | 博客

Lzy

  • 博客访问: 208257
  • 博文数量: 56
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 675
  • 用 户 组: 普通用户
  • 注册时间: 2014-02-27 15:50
文章分类

全部博文(56)

文章存档

2014年(56)

我的朋友

分类: C/C++

2014-11-23 14:24:39

A + B Problem II


点击(此处)折叠或打开

  1. #include <iostream>
  2. #include <cstring>
  3. #include <stdio.h>
  4. #include <memory.h>
  5. #include <string.h>

  6. using namespace std;

  7. char a[1000],b[1000],c[1000];

  8. int main()
  9. {
  10.     int n;
  11.     int an,bn;
  12.     int p = 0;
  13.     int i = 0;
  14.     scanf("%d",&n);
  15.     while(n--)
  16.     {
  17.         memset(a,0,sizeof(char)*1000);
  18.         memset(b,0,sizeof(char)*1000);
  19.         memset(c,0,sizeof(char)*1000);
  20.         scanf("%s %s",a,b);
  21.         an = strlen(a) - 1;
  22.         bn = strlen(b) - 1;
  23.         for(i = 0; an>=0||bn>=0; an--, bn--, i++)
  24.         {
  25.             if(an >= 0 && bn >= 0)
  26.             {
  27.                 c[i] = a[an] + b[bn] - '0' + p;
  28.             }
  29.             if(an >= 0 && bn < 0)
  30.             {
  31.                 c[i] = a[an] + p;
  32.             }
  33.             if(bn >= 0 && an < 0)
  34.             {
  35.                 c[i] = b[bn] + p;
  36.             }
  37.             p = 0;
  38.             if(c[i] > '9')
  39.             {
  40.                 c[i] = c[i] - 10;
  41.                 p = 1;
  42.             }
  43.         }
  44.         while(i--)
  45.         {
  46.             printf("%c",c[i]);
  47.         }
  48.         printf("\n");
  49.     }
  50. }

  51. /*
  52. #include<stdio.h>
  53. #include<string.h>
  54. int main()
  55. {
  56.     char a[1000],b[1000],c[1001];
  57.     int i,j=1,p=0,n,n1,n2;
  58.     scanf("%d",&n);
  59.     while(n)
  60.     {
  61.         scanf("%s %s",a,b);
  62.         printf("Case %d:\n",j);
  63.         printf("%s + %s = ",a,b);
  64.         n1=strlen(a)-1;
  65.         n2=strlen(b)-1;
  66.         for(i=0;n1>=0||n2>=0;i++,n1--,n2--)
  67.         {
  68.             if(n1>=0&&n2>=0)
  69.                 {c[i]=a[n1]+b[n2]-'0'+p;}
  70.             if(n1>=0&&n2<0)
  71.                 {c[i]=a[n1]+p;}
  72.             if(n1<0&&n2>=0)
  73.                 {c[i]=b[n2]+p;}
  74.             p=0;
  75.             if(c[i]>'9'){c[i]=c[i]-10;p=1;}
  76.         }
  77.         if(p==1){printf("%d",p);}
  78.         while(i--)
  79.         {printf("%c",c[i]);}
  80.         j++;
  81.         if(n!=1){printf("\n\n");}
  82.         else {printf("\n");}
  83.         n--;
  84.     }
  85. }
  86. */

阅读(1192) | 评论(0) | 转发(0) |
0

上一篇:HDU 1042 N!

下一篇:HDU 1003 Max Number

给主人留下些什么吧!~~