Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

Re:help!!为什么都是WA!

Posted by septemsure at 2006-03-29 21:54:55 on Problem 1001
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:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator