以为已经贴上去了 刚看了下 原来还没贴 看来是自己忘记了 =-=
就是一个 大数加法 写着玩玩的~
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 else 34 { 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( " " ); 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: ",i ); 59 printf( "%s + %s = ",str1 , str2 ); 60 add( ); 61 if( i<t ) 62 printf( " " ); 63 } 64 } 65 return 0; 66 }
today:
当你在穿山越岭的另一边
我在孤独的路上没有尽头
我们总是在抱怨事与愿违
却不愿意回头看看自己