以有多少比例的點位於斜線區域,來推算斜線區域的面積是多少

[心得]

1.float的精確度有7位,而double的精確度有16位

2.使用double要配合%lf

 

#include <stdio.h>

int main()
{
    int N,a,M,i;
    double x,y;
   
    while(scanf("%d %d",&N,&a)!=EOF)
    {
        if(N==0) break;
        M=0;
               
        for(i=0;i<N;i++)
        {
            scanf("%lf %lf",&x,&y);
           
            if(((x-0)*(x-0)+(y-0)*(y-0)<=a*a) && ((x-a)*(x-a)+(y-0)*(y-0)<=a*a) && ((x-0)*(x-0)+(y-a)*(y-a)<=a*a) && ((x-a)*(x-a)+(y-a)*(y-a)<=a*a))
                M++;
        }
        printf("%.5lf\n",(double)M*a*a/N);
    }

    return 0;
}

創作者介紹
創作者 RingsACM 的頭像
RingsACM

Ring's ACM

RingsACM 發表在 痞客邦 留言(0) 人氣()