C语言中,根据用户输入的三个顶点坐标计算三角形的面积。急求:点的坐标如何表示?!
8个回答
展开全部
追问
我大一,C语言才学,结构体好深奥啊还没学到,有没有简单点的
追答
老师布置的题呀,如果是这样的话应该是刚上大一一个月,数组应该也没有学到吧?
那你就用普通变量吧。
float ax,ay,bx,by,cx,cy,s;
这个好理解吧。
然后通过scanf("%d%d%d%d%d%d",&ax,&ay,&bx,&by,&cx,&cy);输入。
(或者for循环进行输入更简洁一些,for应该学了吧)
通过勾股定理求变长,再用海伦公式求面积。
不明白的继续追问。
展开全部
使用形如float triangle_addr[2][3]记录三角形3顶点坐标,然后用海伦公式求三角形面积。p=1/2(a+b+c),S=二次根号下((p-a)*(p-b)*(p-c))。当然还要考虑到用户输入的坐标能否构成三角形。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <iostream>using namespace std;
struct Point //三角形顶点结构体
{
double x; //x坐标
double y; //y坐标
};
int main()
{
Point A, B, C;
cin >> A.x >> A.y;
cin >> B.x >> B.y;
cin >> C.x >> C.y;
cout << "A点坐标: (" << A.x << "," << A.y << ")" << endl;
cout << "B点坐标: (" << B.x << "," << B.y << ")" << endl;
cout << "C点坐标: (" << C.x << "," << C.y << ")" << endl;
return 0;
}
struct Point //三角形顶点结构体
{
double x; //x坐标
double y; //y坐标
};
int main()
{
Point A, B, C;
cin >> A.x >> A.y;
cin >> B.x >> B.y;
cin >> C.x >> C.y;
cout << "A点坐标: (" << A.x << "," << A.y << ")" << endl;
cout << "B点坐标: (" << B.x << "," << B.y << ")" << endl;
cout << "C点坐标: (" << C.x << "," << C.y << ")" << endl;
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个你用随意方法存下六个数字,自己知道是坐标就行了,然后算出三条边长(连点距离你应该是会的吧),用海伦公式【S=sqrt(q*(q-a)*(q-b)*(q-c))】求三角形面积就OK了。q是周长一半
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
#include<math.h>
float d(float x[],float y[])
{
return sqrt(pow(x[0]-y[0],2)+pow(x[1]-y[1],2));
}
int main()
{
float a,b,c,p;
float x[2],y[2],z[2];
printf("输入三点坐标:\n");
scanf("%f%f%f%f%f%f",x,x+1,y,y+1,z,z+1);
a=d(x,y);
b=d(x,z);
c=d(y,z);
p=0.5*(a+b+c);
printf("三角形面积:%g",sqrt(p*(p-a)*(p-b)*(p-c)));
return 0;
}
#include<math.h>
float d(float x[],float y[])
{
return sqrt(pow(x[0]-y[0],2)+pow(x[1]-y[1],2));
}
int main()
{
float a,b,c,p;
float x[2],y[2],z[2];
printf("输入三点坐标:\n");
scanf("%f%f%f%f%f%f",x,x+1,y,y+1,z,z+1);
a=d(x,y);
b=d(x,z);
c=d(y,z);
p=0.5*(a+b+c);
printf("三角形面积:%g",sqrt(p*(p-a)*(p-b)*(p-c)));
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |