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:VS2008编译过的都CE,有没有搞错啊,高手帮忙看一下In Reply To:VS2008编译过的都CE,有没有搞错啊,高手帮忙看一下 Posted by:liuweibiao at 2011-04-16 15:17:11 > #include <stdio.h> > #include <string.h> > #define MAX_LEN 200 > unsigned an1[MAX_LEN+10]; > unsigned an2[MAX_LEN*2+10]; > unsigned aResult[MAX_LEN * 2 + 10]; > char szLine1[MAX_LEN+10]; > void multi(unsigned int *an1,unsigned int *an2,unsigned int *aResult ,int &nLen1,int &nLen2) > { > int i,j; > for( i = 0;i < nLen2; i ++ ) { //每一轮都用 an1 的一位,去和 an2 各位相乘 > //从 an1 的个位开始 > for( j = 0; j < nLen1; j ++ ) //用选定的 an1 的那一位,去乘 an2的各位 > aResult[i+j] += an2[i]*an1[j]; //两数第i, j 位相乘,累加到结果的第 i+j 位 > } > //下面的循环统一处理进位问题 > for( i = 0; i < MAX_LEN * 2; i ++ ) { > if( aResult[i] >= 10 ) { > aResult[i+1] += aResult[i] / 10; > aResult[i] %= 10; > } > } > nLen2=nLen2+nLen1+1; > memcpy(an2,aResult,MAX_LEN*2+10); > > memset(aResult,0,MAX_LEN*2+10); > } > int main() > { > int n; > while(scanf("%s %d",szLine1,&n)!=EOF) > { > int i, j,k=-2,m; > int nLen1 = strlen( szLine1); > memset( an1, 0, sizeof(an1)); > memset(an2,0,sizeof(an2)); > memset( aResult, 0, sizeof(aResult)); > j = 0; > for( i = nLen1 - 1;i >= 0 ; i --) > { > if(szLine1[i]=='.') > { > k=strlen(szLine1)-i-1; > continue; > } > an1[j++] = szLine1[i] - '0'; > > } > int nLen2 = strlen(szLine1); > for(j=0;j<nLen1;j++) > an2[j]=an1[j]; > for(i=0;i<n-1;i++) > multi(an1,an2,aResult,nLen1,nLen2); > m=k*n; > for(i=nLen2;i>=m;i--) > if(an2[i]!=0) > { > m=i; > break; > } > for(i=0;i<nLen2;i++) > if(an2[i]!=0) > { > j=i; > break; > } > if(an2[m]==0) > printf("."); > else > printf("%u",an2[m]); > for(i=m-1;i>=j;i--) > { > printf("%u",an2[i]); > if(i==k*n) > printf("."); > > } > 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