c语言编写一个函数,函数计算三角形面积,并用这个函数计算出凸多边

c语言编写一个函数,函数计算三角形面积,并用这个函数计算出凸多边形面积
输入
N-为n边形
点的坐标x,y

#include<stdio.h>

#include<math.h>

float dis(float x1,float y1,float x2,float y2)

{return sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));

}

float area(float x1,float y1,float x2,float y2,float x3,float y3)

{float a,b,c,p;

 a=dis(x1,y1,x2,y2);

b=dis(x1,y1,x3,y3);

c=dis(x2,y2,x3,y3);

p=(a+b+c)/2.0;

return sqrt(p*(p-a)*(p-b)*(p-c));

}

int main()

{int i,j,n;

 float x[100],y[100],s=0;

 scanf("%d",&n);

 for(i=0;i<n;i++)

    scanf("%f%f",&x[i],&y[i]);

 for(i=0;i<n-2;i++)

  s+=area(x[i],y[i],x[i+1],y[i+1],x[(i+2)%n],y[(i+2)%n]);

printf("S=%.4f\n",s);

return 0;

}

追问

三角形 ,四边形正确 5,6,7边形错误

追答

现在已经修改完毕:

#include<stdio.h>

#include<math.h>

float dis(float x1,float y1,float x2,float y2)

{return sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));

}

float area(float x1,float y1,float x2,float y2,float x3,float y3)

{float a,b,c,p;

 a=dis(x1,y1,x2,y2);

b=dis(x1,y1,x3,y3);

c=dis(x2,y2,x3,y3);

p=(a+b+c)/2.0;

return sqrt(p*(p-a)*(p-b)*(p-c));

}

int main()

{int i,j,n;

 float x[100],y[100],s=0;

 scanf("%d",&n);

 for(i=0;i<n;i++)

    scanf("%f%f",&x[i],&y[i]);

 for(i=1;i<n-1;i++)

  s+=area(x[0],y[0],x[i],y[i],x[i+1],y[i+1]);

printf("S=%.4f\n",s);

return 0;

}


温馨提示:内容为网友见解,仅供参考
无其他回答

c语言编写一个函数,函数计算三角形面积,并用这个函数计算出凸多边
{return sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));} float area(float x1,float y1,float x2,float y2,float x3,float y3){float a,b,c,p;a=dis(x1,y1,x2,y2);b=dis(x1,y1,x3,y3);c=dis(x2,y2,x3,y3);p=(a+b+c)\/2.0;return sqrt(p*(p-a)*(p-b)*(p...

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语言程序
计算三角形面积语言程序:include #include int main()double a,b,c,S,area;printf(根据三角形的三边长计算它的面积n);printf(输入边长a:);scanf(%lf,&a);printf(输入边长b:);scanf(%lf,&b);printf(输入边长c:);scanf(%lf,&c)。S=(a+b+c);area=sqrt(S*(...

如何用c语言编写一个三角形的面积计算程序?
C语言程序,计算三角形的面积程序如下:c#include<stdio.h>,#define PI3.14159,int main(),double base,height,area;printf(请输入三角形的底边长:);scanf(%lf,&base);printf(请输入三角形的高:);scanf(%lf,&height);area=0.5*base* height;printf(三角形的面积为:%.2...

C语言 编写函数,输入三角形三边之长,求三角形面积。
以下是使用C语言编写函数,输入三角形三边之长,求三角形面积的代码:```c include <stdio.h> include <math.h> \/\/ 根据三条边长度计算三角形面积 float triangleArea(float a, float b, float c) { float p, area;p = (a + b + c) \/ 2; \/\/ 计算半周长 area = sqrt(p * (p...

用C语言编程,求三角形面积的函数
printf("please input x,y,z:"); \/\/显示提示文本 scanf("%f,%f,%f",&x,&y,&z); \/\/格式化输入,%f表示将键入的字符转为浮点数,&符表示引用变量在内存中的地址,scanf会将格式化后的浮点数保存到那个变量 p=1.0\/2*(x+y+z); \/\/1除2和1.0除2是不同的,前者得到0,后者得0.5 area=...

如何用C语言计算三角形的面积?
编写一个程序计算三角形面积的相关内容如下:1、importmathdefcalculate-triangle-areabase,height:计算三角形面积的函数parambase:三角形底边长度。paramheight:三角形高。return:三角形面积return0.5*base*height。2、输入三角形的底边和高base=floatinput请输入三角形的底边长度:height=float-input请...

如何用C语言编程计算三角形的面积
以下是一个用C语言编写的程序,输入三角形的三边长,计算并输出三角形的面积:include <stdio.h>#include <math.h>int main() {double a, b, c, s, area;printf("请输入三角形的三边长:\\n");scanf("%lf %lf %lf", &a, &b, &c);s = (a + b + c) \/ 2.0;area = sqrt(s...

如何用C语言编程计算三角形面积?
参考代码:include <stdio.h> int main(){float b, h, s;printf("请输入三角形的 底 高\\n");scanf("%f %f", &b, &h);s=0.5*b*h;printf("三角形的面积为: %f\\n", s);return 0;}

c语言求三角形面积的程序
使用C语言计算三角形面积的程序:c#include<stdio.h>,int main(),float base,height,area;printf(“请输入三角形的底边长:);scanf(“%f,&base);printf(“请输入三角形的高:);scanf(“%f,&height);area=0.5*base* height;printf(“三角形的面积为:%f,area);return0。程...

相似回答