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 |
好像样例都过不了的说In Reply To:大家讨论的BT数据我都通过了,但还是WA,大家看看是哪里有问题呀. Posted by:Bupt_Pig at 2006-03-01 16:04:37 > /* > **1001pkuacm. > */ > > #include <stdio.h> > #include <stdlib.h> > #include <iostream.h> > > main() > { > char s[7]; > int a,i,m,n,b[1001]={0},temp,q,p; > > while(cin>>s>>n) > { > > for(i=0;i<=1000;i++) > b[i]=0; > for(i=0;s[i]!='.'&&s[i];i++) > ; > if(i==6) > m=0; > else > { > m=5-i; > while(s[i]) > { > s[i]=s[++i]; > } > } > a=atoi(s); //确定输入数中的小数位.并转化为整数型. > > temp=a; > i=0; > while(temp>0) > { > b[1000-i]=temp%10; > temp=temp/10; > i++; > } > temp=n; > while(temp!=1) //计算. > { > for(i=1000;i>0;i--) > { > b[i]=b[i]*a; > } > for(i=1000;i>0;i--) > { > if(b[i]/10!=0) > { > b[i-1]=b[i-1]+b[i]/10; > b[i]=b[i]%10; > } > } > temp--; > } > > > m=m*n; //确定结果里的小数部分.下面为输出. > for(p=1;p<=1000&&b[p]==0;p++) > ; > if(p>1000) > { > printf("0\n"); > return 1; > } > for(q=1000;q>=1&&b[q]==0;q--) > ; > if(1000-p+1<=m) > { > printf("."); > for(i=1000-m+1;i<=q;i++) > printf("%d",b[i]); > printf("\n"); > } > else > { > if(1000-q>=m) > { > for(i=p;i<=1000-m;i++) > printf("%d",b[i]); > printf("\n"); > } > else > { > for(i=p;i<=1000-m;i++) > printf("%d",b[i]); > printf("."); > for(i=1000-m+1;i<=q;i++) > printf("%d",b[i]); > printf("\n"); > } > } > > }//while(cin>>); > > > > } > > > > Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator