① 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;
}
② C語言編程四邊形計算
首先如果四邊形ABCD是平行四邊形,那麼就不可能有交點,M與N重合。
如果不是,那麼採用解析幾何可解。
什麼中點,距離啊都用向量求。
三角形面積計算公式可以用餘弦定理或者海倫公式。
③ 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語言:根據四邊形坐標計算面積
首先判斷12點和34點橫豎坐標的差值是否相等,相等則構成四邊形。然後可以計算一半的面積,可以用求三角形面積的方法做。得到結果乘二即可。
⑤ 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;
}
⑥ 求平行四邊形面積演算法(已知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語言編寫函數求四邊形的面積,參數自定。然後在主函數中調用該函數求邊長分別為5,5,4,3,
#include<stdio.h>
#include<math.h>
#definePI3.1415926
doublearea(doublea,doubleb,doublec,doubled,doubleangle)
{
doublep,S;
p=(a+b+c+d)/2;
angle=angle*PI/180;
S=sqrt((p-a)*(p-b)*(p-c)*(p-d)-a*b*c*d*pow(cos(angle/2),2));//Bretschneider公式
returnS;
}
intmain()
{
printf("邊長為5,5,4,3,一對對角和為145度的四邊形面積為:%lf",area(5,5,4,3,145));
return0;
}
⑧ C語言程序編程題答案:求四邊形面積
你可以把四邊形看做兩個三角形,計算三角形的三邊長,根據三角形的長度,就可以計算面積了。
⑨ 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);
}
⑩ 用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("這不是一個四邊形");
//計算面積
//分成兩個三角形的面積計算
,應該很簡單計算三角形面積
}
自己做吧,我只能做到這了。
練習還是要自己嘗試的