请教高手指点一下Online Judge答案的错误
我做了北大onlinejudge上的1001题目,在我的电脑上用VC6验证完全成功,可是提交上去的时候却没有通过(WA).请高手指点一下错误,谢谢了。总共45分,全部给了...
我做了北大online judge上的1001题目,在我的电脑上用VC6验证完全成功,可是提交上去的时候却没有通过(WA).请高手指点一下错误,谢谢了。
总共45分,全部给了。
这是C语言源程序:
#include<stdio.h>
#include<math.h>
#define MaxSize 200
void main()
{
int a[MaxSize],sum,sc,i,j,l,k=0;
long y;
double m,p;
while(scanf("%lf %d",&m,&l)==2)
{
for(i=0;i<200;i++)
a[i]=0;
a[0]=1;
for(i=6;i>=0;i--)
{
p=m*pow(10,i);
y=(long)p;
if(y%10!=0)
{
k=i;
break;
}
}
for(i=1;i<=l;i++)
{
sc=0;
for(j=0;j<MaxSize;j++)
{
sum=a[j]*y+sc;
sc=sum/10;
a[j]=sum%10;
}
}
for(i=199;a[i]==0;i--);
if(k*l>i)
{
printf(".");
for(j=k*l-1;j>i;j--)
printf("0");
}
for(i;i>=0;i--)
{
printf("%d",a[i]);
if(i==k*l)
printf(".");
}
printf("\n");
}
}
这是题目要求的标准输入输出:
Sample Input
95.123 12
0.4321 20
5.1234 15
6.7592 9
98.999 10
1.0100 12
Sample Output
548815620517731830194541.899025343415715973535967221869852721
.00000005148554641076956121994511276767154838481760200726351203835429763013462401
43992025569.928573701266488041146654993318703707511666295476720493953024
29448126.764121021618164430206909037173276672
90429072743629540498.107596019456651774561044010001
1.126825030131969720661201
这是题目网址:
http://acm.pku.edu.cn/JudgeOnline/problem?id=1001
刚刚发现结果是整数的时候不要输出小数点的,可是程序却输出了,改正了以后,还是没有通过。 展开
总共45分,全部给了。
这是C语言源程序:
#include<stdio.h>
#include<math.h>
#define MaxSize 200
void main()
{
int a[MaxSize],sum,sc,i,j,l,k=0;
long y;
double m,p;
while(scanf("%lf %d",&m,&l)==2)
{
for(i=0;i<200;i++)
a[i]=0;
a[0]=1;
for(i=6;i>=0;i--)
{
p=m*pow(10,i);
y=(long)p;
if(y%10!=0)
{
k=i;
break;
}
}
for(i=1;i<=l;i++)
{
sc=0;
for(j=0;j<MaxSize;j++)
{
sum=a[j]*y+sc;
sc=sum/10;
a[j]=sum%10;
}
}
for(i=199;a[i]==0;i--);
if(k*l>i)
{
printf(".");
for(j=k*l-1;j>i;j--)
printf("0");
}
for(i;i>=0;i--)
{
printf("%d",a[i]);
if(i==k*l)
printf(".");
}
printf("\n");
}
}
这是题目要求的标准输入输出:
Sample Input
95.123 12
0.4321 20
5.1234 15
6.7592 9
98.999 10
1.0100 12
Sample Output
548815620517731830194541.899025343415715973535967221869852721
.00000005148554641076956121994511276767154838481760200726351203835429763013462401
43992025569.928573701266488041146654993318703707511666295476720493953024
29448126.764121021618164430206909037173276672
90429072743629540498.107596019456651774561044010001
1.126825030131969720661201
这是题目网址:
http://acm.pku.edu.cn/JudgeOnline/problem?id=1001
刚刚发现结果是整数的时候不要输出小数点的,可是程序却输出了,改正了以后,还是没有通过。 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询