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

## Re:出现的问题!,谁能帮忙看看!!!!!!!!!

Posted by woshimajiawopashui at 2009-03-06 22:51:20 on Problem 2744
In Reply To:出现的问题!,谁能帮忙看看!!!!!!!!! Posted by:ecjtuwh at 2007-05-12 16:30:02
```> #include<stdio.h>
> int r;
> double v,e,f,b;
> double fun1(int x)
> {
> if(x>=r)
> return(1.0/(v-e*(x-r)));
> else return (1.0/(v-f*(r-x)));
> }
> int  main()
> {
> int i,j,k,l,m,n,t,flag,x;
> int a[101];
> double sum,t1,t2;
> while(1)
> {
>   scanf("%d",&n);if(n==0) break;
>   sum=0.0;
>   for(i=1;i<=n;i++)
>     scanf("%d",&a[i]);
>   scanf("%lf",&b);
>   scanf("%d%lf%lf%lf",&r,&v,&e,&f);
>   flag=0;
>   for(x=0;x<a[1];x++)
>   {
> 	sum+=fun1(x);
>   }
>   //printf("%.4lf\n",sum);
>   for(j=1;j<n;j++)
>   {   t1=t2=0.0;
>       // chang
> 	  for(i=0;i<a[j+1]-a[j];i++)
> 		  t1+=fun1(i);
> 	  t1+=b;
> 	  // not chang
> 	  for(i=a[j]-flag;i<a[j+1]-flag;i++)
> 		  t2+=fun1(i);
>
>       //printf("%.4lf  %.4lf\n",t1,t2);
> 	  if(t1>t2) sum+=t2;
> 	  else if(t1<=t2)
> 	  {
> 		 flag=a[j]; sum+=t1;
> 	  }
>   }
>
>   printf("%.4lf\n",sum);
> }//for while
> return 0;
> }
```

Followed by: