回复 16楼 pangshch
x = (int *)malloc((p+1) * sizeof *x); y = (int *)malloc((p+1) * sizeof *y);
大神,求教这两条语句是怎样实现将第一个点复制到最后的。
刚才百度了一下malloc,大概明白是什么意思,但是一般在什么情况下应用呢?
#include<stdio.h> #include<stdlib.h> #include<math.h> typedef struct ///////////存放点的坐标 { double x; double y; }dot; double cal_area(dot *a,int n)////////由n个点计算面积///////// { int i; double result=0; for(i=0;i<n-1;i++) result+=a[i].x*a[i+1].y-a[i+1].x*a[i].y; result+=a[n-1].x*a[0].y-a[0].x*a[n-1].y; return fabs(result/2); } int main() { int i,n; dot *a; printf("请输入点个数"); scanf("%d",&n); a=(dot*)malloc(sizeof(dot)*n); printf("请输入坐标\n"); for(i=0;i<n;++i) scanf("%lf%lf",&a[i].x,&a[i].y); printf("%lf\n",cal_area(a,n)); free(a); return 0; }*yn);