#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
double area(long a1,long a2,long a3,long a4,long a5,long a6)
{
double l1,l2,l3,s,p;
l1=sqrt((a1-a3)*(a1-a3)+(a2-a4)*(a2-a4));
l2=sqrt((a3-a5)*(a3-a5)+(a4-a6)*(a4-a6));
l3=sqrt((a5-a1)*(a5-a1)+(a6-a2)*(a6-a2));
p=0.5*(l1+l2+l3);
s=sqrt(p*(p-l1)*(p-l2)*(p-l3));
return s;
}
int main()
{
int n,i;
long a[101],b[101];
double s;
while(scanf("%d",&n)!=EOF)
{
if(n==0)
;
else
{
for(i=0;i<n;i++)
scanf("%ld%ld",&a[i],&b[i]);
for(i=1,s=0;i<n-1;i++)
s+=area(a[0],b[0],a[i],b[i],a[i+1],b[i+1]);
printf("%.1lf\n",s);
}
}
return 0;
}
题目中说坐标全是整数啊,改成long double行吗
追答没事的,double也能表示整数的,sqrt函数不支持int,long这些整数类型
追问我觉得前面没问题,我现在不用海伦公式,用坐标求也行,关键是2829行应该有问题把
追答啊哦,我只是从编译的角度去看你的代码了,不好意思哈
追问我已经知道哪里错了,总之谢谢你了。
用c语言写计算多边形面积怎麽写啊,在线等待
1. 输入的三角形三边长a、b、c必须满足“任意两边之和大于第三边”。2. 应用海伦公式计算:如果x ≥ 0,则求面积:Area = √(x),并输出Area的值。下面是C++的代码示例:```c include include using namespace std;double point[1000000][2], A;int m;double det(double x1, double y1, ...
C语言编程求多边形面积, (1)输入任意三点以上坐标,计算此多边形面
输入边数 n, 输入 多边形各顶点 x,y 坐标,逆时针顺序 (保证 叉乘积 为 正)。各顶点 x,y 坐标 减去 a[0][0]。以 a[0][0] 为主 计算各三角形面积并累加。include <stdio.h> include <stdlib.h> main( ){ int i,j,n;double s=0;double a[15][2];scanf("%d",&n);for(...
用c语言写计算多边形面积怎麽写啊,在线等待
1.输入的三角形三边长a,b,c要满足“任意两边长的和大于第三边长”。2.按海伦公式计算:s=(a+b+c)\/2;x=s*(s-a)*(s-b)*(s-c) 这时若x>=0,则求面积:area= ,并输出area的值。C++代码如下:include <cmath> include <iostream> using namespace std;double point[1000000...
...怎么去求该多边形的面积?(写下代码和思想--C语言)
double area = calculatePolygonArea(numberOfVertices, x, y);printf("多边形的面积是:%.2lf\\n", area);return 0;} ```这段代码首先定义了一个计算多边形面积的函数`calculatePolygonArea`,它接受顶点的数量和一个包含x坐标和y坐标的数组。然后,在`main`函数中,程序从用户那里获取多边形的顶点...
正多边形面积用C语言(不是C++)怎么编
回答:n表示边数,R表示外接圆半径,x表示圆心角,弧度表示
c语言求凸多边形面积
输入边数 n, 输入 多边形各顶点 x,y 坐标,逆时针顺序 (保证 叉乘积 为 正)。各顶点 x,y 坐标 减去 a[0][0]。以 a[0][0] 为主 计算各三角形面积并累加。include <stdio.h> include <stdlib.h> main( ){ int i,j,n;double s=0;double a[15][2];scanf("%d",&n);for(...
...怎么去求该多边形的面积?(写下代码和思想--C语言)
或者叫向量积)设多边形的点按某顺序依次是(x1,y1),(x2,y2),...,(xn,yn)我们任选一个点和每条边相连,相邻的边做叉乘再除以2(构成三角形的有向面积),一般我们选原点(0,0)则面积S=(x1y2-x2y1)\/2+(x2y3-x3y2)\/2+...+(xny1-x1yn)\/2这里S是有向面积 还要取绝对值程序很...
正多边形面积用C语言(不是C++)怎么编
n表示边数,R表示外接圆半径,x表示圆心角,弧度表示
任意多边形怎么求面积
说明逆时针旋转为正,顺时针为负。祝学习愉快 问题四:用c语言编写"求任意多边形的面积" 自己去百度微积分的C语言实现,既然是任意多边形肯定是要用微积分的...问题五:求教怎么编写一个求任意多边形面积的程序 #include define PI 3.14int main(){ double r;scanf(%lf, &r);printf(%lf, r...
任意多边形怎么求面积
建议搜索微积分的C语言实现,因为任意多边形面积的计算可能需要积分。问题五:如何编写一个求任意多边形面积的程序?提供的代码示例是计算圆的面积,并非多边形。正确的程序需要包含多边形顶点坐标的输入,并使用适当的算法(如分割法或向量积)来计算面积。问题六:如果知道任意多边形的周长,如何计算面积?仅...