c语言求凸多边形面积
答案:1 悬赏:0 手机版
解决时间 2021-04-05 20:38
- 提问者网友:一抹荒凉废墟
- 2021-04-05 04:38
c语言求凸多边形面积
最佳答案
- 五星知识达人网友:人间朝暮
- 2021-04-05 06:04
输入边数 n,输入 多边形各顶点 x,y 坐标,逆时针顺序 (保证 叉乘积 为 正)。
各顶点 x,y 坐标 减去 a[0][0]。以 a[0][0] 为主 计算各三角形面积并累加。
#include
#include
main( )
{
int i,j,n;
double s=0;
double a[15][2];
scanf("%d",&n);
for(i=0;i for(j=0;j<2;j++)
scanf("%lf",&a[i][j]);
for(i=0;i for(j=0;j<2;j++)
a[i][j]=a[i][j]-a[0][0];
for(i=1;i {
s = s + 0.5*(a[i][0]*a[i+1][1]-a[i+1][0]*a[i][1]);
}
printf("%.2lf",s);
return 0;
}
追问:测试数据1输出错误
错误输出:
1.00
期望输出:
5.00
测试数据2输出错误
错误输出:
-10000.00
期望输出:
15000.00
测试数据3输出错误
错误输出:
-1067.50
期望输出:
984.50
测试数据4输出错误
测试数据5输出错误
错误输出:
-1000.00
期望输出:
1100.00
都错了啊
追答:// 改正:a[i][j]=a[i][j]-a[0][j];
// 不是 -a[0][0], 是 a[0][j]
#include
#include
main( ){int i,j,n;
double s=0;double a[15][2];
scanf("%d",&n);
for(i=0;i for(j=0;j<2;j++)
scanf("%lf",&a[i][j]);
for(i=1;i for(j=0;j<2;j++)
a[i][j]=a[i][j]-a[0][j];
for(i=1;i s = s + 0.5* (a[i][0] *a[i+1][1] - a[i+1] [0] * a[i][1] );
}
printf("%.2lf",s);
return 0;
}
各顶点 x,y 坐标 减去 a[0][0]。以 a[0][0] 为主 计算各三角形面积并累加。
#include
#include
main( )
{
int i,j,n;
double s=0;
double a[15][2];
scanf("%d",&n);
for(i=0;i
scanf("%lf",&a[i][j]);
for(i=0;i
a[i][j]=a[i][j]-a[0][0];
for(i=1;i
s = s + 0.5*(a[i][0]*a[i+1][1]-a[i+1][0]*a[i][1]);
}
printf("%.2lf",s);
return 0;
}
追问:测试数据1输出错误
错误输出:
1.00
期望输出:
5.00
测试数据2输出错误
错误输出:
-10000.00
期望输出:
15000.00
测试数据3输出错误
错误输出:
-1067.50
期望输出:
984.50
测试数据4输出错误
测试数据5输出错误
错误输出:
-1000.00
期望输出:
1100.00
都错了啊
追答:// 改正:a[i][j]=a[i][j]-a[0][j];
// 不是 -a[0][0], 是 a[0][j]
#include
#include
main( ){int i,j,n;
double s=0;double a[15][2];
scanf("%d",&n);
for(i=0;i
scanf("%lf",&a[i][j]);
for(i=1;i
a[i][j]=a[i][j]-a[0][j];
for(i=1;i
}
printf("%.2lf",s);
return 0;
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯