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 |
大家讨论的BT数据我都通过了,但还是WA,大家看看是哪里有问题呀./* **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