hdu1047
终于过了啊.........
代码如下:
1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <string.h> 4 5 int main() 6 { 7 int aadbignumber( char a[], char b[] ); 8 char a[110], b[110]; 9 int T, i; 10 11 scanf( "%d", &T ); 12 while( T ){ 13 14 for( i = 0; i < 110; i ++ )a[i] = '0'; 15 memset( b, 0, sizeof( b ) ); 16 17 while( scanf( "%s", b) != EOF ){ 18 if( strcmp( b, "0" ) == 0 ) 19 break; 20 aadbignumber( a, b ); 21 } 22 for( i = 109; i >= 0 && a[i] == '0'; i -- ); 23 if( i < 0 ) 24 putchar( '0' ); 25 for( ; i >=0; i -- ){ 26 printf( "%c", a[i] ); 27 } 28 putchar( '\n' ); 29 if( -- T ) 30 putchar( '\n' ); 31 } 32 return 0; 33 } 34 int aadbignumber( char a[], char b[] ) 35 { 36 int i, j, t, m, n, lengthb; 37 38 lengthb = strlen( b ); 39 for( t = 0, i = lengthb - 1, j = 0; i >= 0; i --, j ++ ){ 40 m = a[j] - '0'; 41 n = b[i] - '0'; 42 a[j] = ( m + n + t ) % 10 + '0'; 43 t = ( m + n + t ) / 10; 44 } 45 for( ; j < 110; j ++ ){ 46 m = a[j] - '0'; 47 a[j] = ( m + t ) % 10 + '0'; 48 t = ( m + t ) / 10; 49 } 50 return 0; 51 }