Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
Re:请帮忙看一下~ 在下初学高精In Reply To:请帮忙看一下~ 在下初学高精 Posted by:kukumalu at 2006-07-23 19:56:05 > 这是俺的破CODE: > #include <stdio.h> > #include <string.h> > #define MAX 110 > > > void input ( int a[MAX] , char b[MAX] ) //The begining of HP!~ > { > int k = 0 , HeadPos = 0 , len ; > len = strlen ( b ) ; //"len" is the length of string "b" > > while ( b[HeadPos] == '0' && len != 1 ) //remove leading 0s > HeadPos ++ ; > > > for ( k = 0 ; k < len - HeadPos ; k ++ ) // so , len-HeadPos is the real length of the number in b > a[k] = b [len-1-k] - 48 ; //now I know that the return value of "strlen" is the "REAL" length of the string , '\0' is excluded ^_^ > } > > > > > void add ( int a[MAX] , int sum[MAX] ) // HP add > { > int i=0 ,carry = 0; // " carry" is carry ^_^ > > for ( ; i < MAX ; i ++ ) > { > sum[i] = sum[i] + a[i] + carry ; > if ( sum[i] > 9 ) > { > carry = 1; > sum[i] = sum[i] - 10; > } > else carry = 0; > } > } > > > > > > > int main () > { > int j; > int a[MAX] , sum[MAX] ; > char b[MAX] ; > memset ( sum , 0 , sizeof (sum) ); > memset ( a , 0 , sizeof(a) ); > memset (b , '0' , sizeof(b) ); > > > while (1) > { > gets(b); > if ( *b == '0' && b[1] == '\0' ) > break; > input ( a , b ); > add (a , sum); > } > > int i = MAX -1 ; > while ( sum[i]== 0) > { -- i; j=i;} > while ( j >= 0) > { > printf ( "%d" , sum[j]); > j -- ; } > printf("\n"); > return 0; > } > > 头一次使用高精~ 总不成功 > 希望高手帮忙看一下 不胜感激 自己再帮自己顶一下。.. 盼望有人能帮一把~ Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator