㈠ c语言:根据四边形坐标计算面积
首先判断12点和34点横竖坐标的差值是否相等,相等则构成四边形。然后可以计算一半的面积,可以用求三角形面积的方法做。得到结果乘二即可。
㈡ c语言 四边形面积
s1=a+b+e;
s2=c+d+e; 中漏高销掉了除以2,
改为
s1=(a+b+e)/2;
s2=(c+d+e)/2;
下面的程序就对了。
#include "math.h"
#include "stdio.h"
main()
{
int i;
float a,b,c,d,e,s1,s2,h1,h2,area;
float m[2],n[2],p[2],q[2];
printf("shu ru zuo biao:");
for(i=0;i<2;i++)
scanf("歼念困%f",&m[i]);
for(i=0;i<2;i++)
scanf("%f"氏念,&n[i]);
for(i=0;i<2;i++)
scanf("%f",&p[i]);
for(i=0;i<2;i++)
scanf("%f",&q[i]);
a=sqrt(pow(m[0]-n[0],2)+pow(m[1]-n[1],2));
b=sqrt(pow(p[0]-n[0],2)+pow(p[1]-n[1],2));
c=sqrt(pow(p[0]-q[0],2)+pow(p[1]-q[1],2));
d=sqrt(pow(m[0]-q[0],2)+pow(m[1]-q[1],2));
e=sqrt(pow(m[0]-p[0],2)+pow(m[1]-p[1],2));
s1=a+b+e;
s2=c+d+e;
h1=sqrt(s1*(s1-a)*(s1-b)*(s1-e));
h2=sqrt(s2*(s2-c)*(s2-d)*(s2-e));
area=h1+h2;
printf("%f",area);
getch( );
}
㈢ c语言求任意四边形面积附上函数流程图
你把四个顶点坐标弄下来.
A(x1,y1)
B(x2,y2)
C(x3,y3)
D(x4,y4)
将四边形分成两个三凳如斗角形橡旅ABD和BCD
然后由矢量代数知识.三角形面积等于两矢量的叉乘*0.5
面积枣磨 = fabs(0.5*(x1*(y2-y4)+x2*(y4-y1)+x4*(y1-y2)))
+ fabs(0.5*(x2*(y3-y4)+x3*(y4-y2)+x4*(y2-y3)));
㈣ 用c语言编写程序求四边形的面积
现在的人那...写道程序才给那么点分..哎
㈤ C语言 定义计算四边形面积的函数
楼主,你把公式写错了,正确的应该是S = sqrt((s-a)*(s-b)*(s-c)*(s-d) - a*b*c*d*cosα*cosα);
代码我写好了,通过测试,结果正确
#include <stdio.h>
#include <math.h>
#define PI 3.1415926
double area(double a, double b, double c, double d, double theta)
{
double S,s;
s = (a + b + c + d) / 2;
S = sqrt((s - a) * (s - b) * (s - c) * (s - d)
- a * b * c * d * pow(cos(PI * theta / 360),2));
return S;
}
int main()
{
double a, b, c, d, theta, s;
printf("请依次输入四条边和theta的值:");
scanf("%lf %lf %lf %lf %lf", &a, &b, &c, &d, &theta);
s = (a + b + c + d) / 2;
while((s - a) * (s - b) * (s - c) * (s - d)
- a * b * c * d * pow(cos(PI * theta / 360),2) < 0)
{
printf("invalid input!\n");
printf("请重新输入:");
scanf("%lf %lf %lf %lf %lf", &a, &b, &c, &d, &theta);
}
printf("四边形面积为: %.4lf\n", area(a, b, c, d, theta));
return 0;
}
㈥ C语言编程题 题目:任意输入4个点,求围成四边形的面积
我测试过了,四点一线,凹四边形,四边形,有两个点共点,都可以,这里使用一条知道N边形N个顶点坐标求N边形的面积的公式,这些情况其实已经虚冲察可以不考虑,呵呵,自动求
凹四边形情况:
#include"stdio.h"
#include"math.h"
voidmain()
{
doublex[4],y[4];
for(inti=0;i<4;i++)
{
scanf("%lf%lf",&x[i],&y[i]);
}
doublemianji=0.0;
for(intii差茄=1;判洞ii<4;ii++)
{
mianji+=(x[ii-1]*y[ii]-x[ii]*y[ii-1]);
}
mianji+=x[3]*y[0]-x[0]*y[3];
mianji=fabs(0.5*mianji);
printf("%lf ",mianji);
}
㈦ 求平行四边形面积算法(已知4点坐标,讨论情况)用c语言编程(请付流程图)
平行四边形的面积可以分成两个三角形来计算,
假设这个平行四边形是ABCD
一个三角形的面积的算法是
那么可以用AB向量也AD向量的叉积来做
#include<math.h>
#include <stdio.h>
struct
{
double x,y;
}p[4],ab,ad;
void main()
{
int i;
double s;
for(i=0;i<4;i++)scanf("%lf%lf",&p[i].x,&p[i].y);
ab.x=p[1].x-p[0].x;
ab.y=p[1].y-p[0].y;
ad.x=p[3].x-p[0].x;
ad.y=p[3].y-p[0].y;
s=ab.x*ad.y-ab.y*ad.x;
printf("%lf\n",fabs(s));
}
㈧ C语言求任意四边形的面积
#include <stdio.h>
#include <math.h>
int main(void)
{
float a,b,c,d,af,s,S;
scanf("%f%f%f%f%f",&a,&b,&c,&d,&af);
s=(a+b+c+d)/2.0;
af=cos(2.0*af/180.0);
S=sqrt((s-a)*(s-b)*(s-c)*(s-d)-a*b*c*d*af);
if(S<0)
printf("Invalid input\n");
else
printf("%.4f\n",S);
return 0;
}
函数使用错误,cos参数应该为弧度。。
㈨ 用c语言编写程序求四边形的面积
#include<stdio.h>
void
main()
{
printf
("请输入四点坐标:");
int
a[4][2];
for(int
i=0;i<4;i++)
{
scanf("%d
%d",a[i][0],a[i][1]);
//输入坐标值
}
if(a[0][0]=[1][0]=[2][0]=[3][0]
||a[0][1]=[1][1]=[2][1]=[3][1]
)
printf("这不是一个四边形");
//计算面积
//分成两个三角形的面积计算
,应该很简单计算三角形面积
}
自己做吧,我只能做到这了。
练习还是要自己尝试的
㈩ c语言 算平行四边形面积
我只能判断能不能组成平行四边形,面积没做出来,希望对你有用:
#include <stdio.h>
typedef struct node {
int x;
int y;
} Node;
int main(void)
{
Node n[4];
int i;
for (i = 0; i < 4; i++) {
printf("Enter the node %d->x\tnode %d->y:\n", i + 1, i + 1);
scanf("%d %d", &n[i].x, &n[i].y);
}
if (((n[3].x - n[2].x) == (n[1].x - n[0].x)) && ((n[3].y - n[2].y) == (n[1].y - n[0].y))) {
printf("mianji: %d\n", ((n[1].x - n[0].x) * n[2].y));
} else if (((n[3].x - n[1].x) == (n[2].x - n[0].x)) && ((n[3].y - n[1].y) == (n[2].y - n[0].y))) {
printf("mianji: %d\n", ((n[1].x - n[0].x) * n[2].y));
} else if (((n[3].x - n[0].x) == (n[1].x - n[2].x)) && ((n[3].y - n[0].y) == (n[1].y - n[2].y))) {
printf("mianji: ****\n");
} else {
printf("cannot\n");
}
return 0;
}