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:help!!为什么都是WA!In Reply To:help!!为什么都是WA! Posted by:redbox at 2006-03-29 19:58:23 > #include <stdio.h> > #define M 125 > void main() > { > int R[M]; > float r1; > int r,n,i,l=0; > int f;//要打印的小数长度; > int a;//要打印的整数长度; > > // > while(scanf("%f %d",&r1,&n)!=EOF) > { > i=125; // > while(--i) R[i]=0; > if(10.00<=r1&&r1<99.999) f=3*n,a=2*n,r=r1*1000+0.5; > else if(2.0<=r1&&r1<10.0) f=4*n,a=n,r=r1*10000+0.5; > else if(1.0<=r1&&r1<2.0) f=4*n,a=1,r=r1*10000+0.5; > else a=0,f=4*n,r=r1*10000+0.5; > ////////////////////// > > ///////////////////////// > R[0]=r%10; > R[1]=(r%100)/10; > R[2]=(r%1000)/100; > R[3]=(r%10000)/1000; > R[4]=(r%100000)/10000; > ////////////////////////// > while(--n) > { > for(i=0;i<M;i++) > R[i]*=r; > // > for(l=0;l<M-2;l++){ > R[l+1]+=R[l]/10; > R[l]%=10; > } > > } > > //if(a==0){ > for(i=f+a;i>=f;i--) > if(R[i]!=0) break; > for(;i>=f;i--) > printf("%d",R[i]); > > for(r=0;r<f;r++) > if(R[r]!=0) break; > if(r!=f) printf("%c",'.'); > for(;i>=r;i--) > printf("%d",R[i]); > // } > // else if() > > printf("%c",'\n'); > } > } 随便一组数据就有问题啊 比如99 25 答案直接相差N远 Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator