请问怎么编码求一个圆覆盖了平面上横坐标在[0,100],纵坐标在[0,100]这个
范围内多少个整数坐标点。C语言。简洁一点的
我的代码不知道哪里有问题了
#include <stdio.h>
#include <math.h>
int main() {
double x,y,r;
scanf("%lf %lf",&x,&y);
scanf("%lf",&r);
int cnt=0;
int i,j;
for(i=0; i<=fabs(x+r); i++) {
for(j=0; j<=fabs(y+r); j++) {
if(fabs(sqrt((x-i)*(x-i)+(y-j)*(y-j))<=r))
cnt++;
}
}
printf("%d",cnt);
}
思路是计算x1,y1 到x,y举例小于r。
改循环条件起始值:
for(x1=x-r;x1<=x+r;x1++)
for(y1=y-r;y1<=y+r;y1++)
{
if(fabs(sqrt((x1-x)*(x1-x)+(y1-y)*(y1-y))<=r))
cnt++;
}