对于任意的四边形ABCD,其对角线AC与BD的中点分别是M,N,AB,CD的延长线交于R.验证三角形RMN的面积是四边形ABCD面积的四分之一
/*
AC中点M,BD中点N,BA、CD延长后交于R
验证area(ABCD)==4*area(RMN)
*/
#include<stdio.h>
#include<math.h>
typedef struct
{
double x;
double y;
} Point;
#define a P[0]
#define b P[1]
#define c P[2]
#define d P[3]
int ok(Point *p)
{ /*检测是否平行四边形,若是返回0*/
}
main()
{
Point m,n,r,P[4],*PP=P;
while(*p)
{ static
char pname[]="ABCD",*p=pname;
printf("input (x,y) of point %c:",*p);
scanf("%lf%*c%lf",&PP->x,&PP->y);
p++;PP++;
} /*至此得到四边形的4个顶点的坐标*/
if(!ok(P))/*如果AB//CD则无法相交只好退出*/
{
fprintf(stderr,"\ninvalid input...\n");
exit(1); /*异常结束1*/
}
我在编译运行的时候它说错误 noname.c 30: 未定义的符号'p'在 main 函数中和
警告 noname.c 25: 参数'p'从未使用在 ok 函数中
我怎么改才对啊,学校要验收我不会,怎么办呐!!!!
/*
AC中点M,BD中点N,BA、CD延长后交于R
验证area(ABCD)==4*area(RMN)
*/
#include<stdio.h>
#include<math.h>
typedef struct
{
double x;
double y;
} Point;
#define a P[0]
#define b P[1]
#define c P[2]
#define d P[3]
int ok(Point *p)
{ /*检测是否平行四边形,若是返回0*/
}
main()
{
Point m,n,r,P[4],*PP=P;
while(*p)
{ static
char pname[]="ABCD",*p=pname;
printf("input (x,y) of point %c:",*p);
scanf("%lf%*c%lf",&PP->x,&PP->y);
p++;PP++;
} /*至此得到四边形的4个顶点的坐标*/
if(!ok(P))/*如果AB//CD则无法相交只好退出*/
{
fprintf(stderr,"\ninvalid input...\n");
exit(1); /*异常结束1*/
}
我在编译运行的时候它说错误 noname.c 30: 未定义的符号'p'在 main 函数中和
警告 noname.c 25: 参数'p'从未使用在 ok 函数中
我怎么改才对啊,学校要验收我不会,怎么办呐!!!!