C语言中,根据用户输入的三个顶点坐标计算三角形的面积。急求:点的坐标如何表示?!

 我来答
an0011121
推荐于2017-11-25 · TA获得超过1.1万个赞
知道大有可为答主
回答量:3948
采纳率:55%
帮助的人:2388万
展开全部
结构体可以,楼上的说了。如果没学结构体可以用二维数组,float a[3][2]。第一维是第一个顶点第二个顶点第三个顶点。通过两层for循环进行数据输入,外层控制顶点次序,内层控制每个顶点的横左边和纵坐标。并且可以用printf输出语句提示该输入第几个顶点了。
追问
我大一,C语言才学,结构体好深奥啊还没学到,有没有简单点的
追答
老师布置的题呀,如果是这样的话应该是刚上大一一个月,数组应该也没有学到吧?
那你就用普通变量吧。
float ax,ay,bx,by,cx,cy,s;
这个好理解吧。
然后通过scanf("%d%d%d%d%d%d",&ax,&ay,&bx,&by,&cx,&cy);输入。
(或者for循环进行输入更简洁一些,for应该学了吧)
通过勾股定理求变长,再用海伦公式求面积。
不明白的继续追问。
yaorui19870607
2012-10-01 · TA获得超过105个赞
知道答主
回答量:153
采纳率:100%
帮助的人:59.9万
展开全部
使用形如float triangle_addr[2][3]记录三角形3顶点坐标,然后用海伦公式求三角形面积。p=1/2(a+b+c),S=二次根号下((p-a)*(p-b)*(p-c))。当然还要考虑到用户输入的坐标能否构成三角形。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wanglixin1001
2012-10-01 · TA获得超过4174个赞
知道大有可为答主
回答量:1758
采纳率:80%
帮助的人:888万
展开全部
#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;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
448016964
2012-10-01 · TA获得超过272个赞
知道小有建树答主
回答量:241
采纳率:0%
帮助的人:53.4万
展开全部
这个你用随意方法存下六个数字,自己知道是坐标就行了,然后算出三条边长(连点距离你应该是会的吧),用海伦公式【S=sqrt(q*(q-a)*(q-b)*(q-c))】求三角形面积就OK了。q是周长一半
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zyq_107
2012-10-01 · TA获得超过900个赞
知道小有建树答主
回答量:440
采纳率:100%
帮助的人:468万
展开全部
#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;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式