首页 > 代码库 > hdu--1002--大数加法

hdu--1002--大数加法

以为已经贴上去了 刚看了下 原来还没贴 看来是自己忘记了 =-=

就是一个 大数加法  写着玩玩的~

  touch  me

 1 #include <iostream> 2 #include <cstring> 3 using namespace std; 4  5 const int size = 10010; 6 char str1[size]; 7 char str2[size]; 8 int val[size*2]; 9 10 void add( )11 {12     int i , j;13     int len1 = strlen( str1 );14     int len2 = strlen( str2 );15     int maxLen = max( len1 , len2 );16     int minLen = min( len1 , len2 );17     int len = maxLen;18     int ans = 0;19     for( i = len1-1 , j = len2-1 ; i>=0&&j>=0 ; i--,j-- )20     {21         val[maxLen] = ( (str1[i]-0)+(str2[j]-0) + ans ) % 10 ;22         ans = ( ( str1[i]-0 ) + (str2[j]-0 ) + ans ) / 10;23         maxLen--;24     }25     if( len1 == len )26     {27         for( ; i>=0 ; i-- )28         {29             val[i+1] = ( ans + (str1[i]-0) ) % 10;30             ans = ( ans + str1[i]-0 )/10;31         }32     }33     else34     {35         for( ; j>=0 ; j-- )36         {37             val[j+1] = ( ans + (str2[j]-0) ) % 10;38             ans = ( ans + str2[j]-0 ) /10;39         }40     }41     if( ans )42         printf( "1" );43     for( i = 1 ; i<=len ; i++ )44     {45         printf( "%d",val[i] );        46     }47     printf( "\n" );48 }49 50 int main()51 {52     int t;53     while( cin>>t )54     {55         for( int i = 1 ; i<=t ; i++ )56         {57             cin >> str1 >> str2;58             printf( "Case %d:\n",i );59             printf( "%s + %s = ",str1 , str2 );60             add( );61             if( i<t )62                 printf( "\n" );63         }64     }65     return 0;66 } 
View Code

 

today:

  当你在穿山越岭的另一边
  我在孤独的路上没有尽头

  我们总是在抱怨事与愿违
  却不愿意回头看看自己