| ||||||||||
| 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