hdu1002解题报告

                          
思路:大数相加问题,不可以直接进行加法运算 又这个数的位数不超过1000位  因此可以考虑运用数组将加法的计算结果的每位数进行存储 。

编程语言:C语言

代码如下:

#include <stdio.h>

#include <string.h>

int main()

{

 char a[1000],b[1000];

 int n,i,j,l1,l2,max;

 scanf("%d",&n);

 j=0;

 while( n-- )

 {

  int c[1000]={0};

  int d[1000]={0};

  scanf("\n%s%s",a,b);

  l1 = strlen(a);

  l2 = strlen(b);

  if(l1 > l2)

  max = l1;

  else

  max = l2;

  for(i = l1-1;i >= 0; i--)

  c[l1-i] = a[i] - '0';

  for(i = l2-1;i >= 0; i--)

  d[l2-i] = b[i] - '0';

  for(i = 1;i <= max; i++)  

  {

   c[i] = c[i] + d[i];

   if( c[i] > 9)

   {

    if( i == max)

     max++;

    c[i+1]++;

    c[i] = c[i] - 10;

    }

   }

   printf("Case %d:\n",++j);

   printf("%s + %s = ",a,b);

   for(i = max; i > 0; i--)

   printf("%d",c[i]);

   if( n != 0)

    printf("\n\n");

   else

    printf("\n");

  }

  return 0;

}



  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值