我在學校有一個程序,我必須告訴大家它在做什麼。我得到的程序是計算面積和多邊形質心的程序。現在,我幾乎知道所有事情,但是在計劃中有兩個數字,我什麼都不能做。 -10001和-47。如果我替換它們,程序不會使計算正確。你能告訴我爲什麼-10001和47?如果我不是加-10001和-47的caculating是正確的..面積和多邊形的質心
#include <stdio.h>
#include <math.h>
typedef struct
{
double x,y;
} POINT;
POINT c, o, p[10000];
double a, q=0.0;
int n;
double ccw(POINT a, POINT b, POINT c)
{
return a.x*b.y + a.y*c.x + b.x*c.y - c.x*b.y - b.x*a.y - c.y*a.x;
}
int main(void)
{
int i, j;
o.x=-10001;
o.y=-47;
**/* THIS IS WHAT*/**
while (scanf("%d", &n) > 0)
{
if(!n)
break;
for (i = 0; i < n; i++)
scanf("%lf %lf", &p[i].x, &p[i].y);
a=0;
for(i=0; i<n; i++)
a += ccw(o, p[i], p[(i+1)%n]);
c.x = c.y = 0.0;
for(i=0; i<n; i++)
{
q = ccw(o, p[i], p[(i+1)%n])/(3.0*a);
c.x += q*(o.x + p[i].x + p[(i+1)%n].x);
c.y += q*(o.y + p[i].y + p[(i+1)%n].y);
}
printf("%.3lf\n", fabs(a)/2.0);
printf("%.3lf %.3lf\n", c.x, c.y);
return 0;
}
}
它是C還是C++?它不能兼而有之。 –
@PreferenceBean它是C. –
那麼你爲什麼使用C++標籤! –