C语言用三点求三角形面积 用行列式怎么写 不要海伦公式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言用三点求三角形面积 用行列式怎么写 不要海伦公式相关的知识,希望对你有一定的参考价值。

#include <stdio.h>#include <math.h>int main () float s, x1,x2,x3,y1,y2,y3; printf("请输入坐标A"); scanf("%f,%f",&x1,&y1); printf("请输入坐标B"); scanf("%f,%f",&x2,&y2); printf("请输入坐标C"); scanf("%f,%f",&x3,&y3); s=1/2*fabs(x1*y2+x2*y3+x3*y1-x1*y3-x2*y1-x3*y2); printf("三角形面积: %f",s); return 0; 这个哪儿错了啊 输出的结果一直是0
#include <stdio.h>
#include <math.h>
int main ()

float s, x1,x2,x3,y1,y2,y3;
printf("请输入坐标A");
scanf("%f,%f",&x1,&y1);
printf("请输入坐标B");
scanf("%f,%f",&x2,&y2);
printf("请输入坐标C");
scanf("%f,%f",&x3,&y3);
s=1/2*fabs(x1*y2+x2*y3+x3*y1-x1*y3-x2*y1-x3*y2);
printf("三角形面积: %f",s);
return 0;

参考技术A 首先确认你自己的算法对不对

原方法是知道三边,你是三个坐标,
自行调整追答

如果这个你没问题,你输入就有问题了。
如果会调试,自己看看变量的值

追问

算法是对的 用行列式

追答

自己模拟运行一边

参考技术B 你的1/2得0了啊,c语言是整除,要么1.0/2,要么×0.5

求助:c语言中的三角形问题。。

程序设计竞赛中有着很多有意思的问题,其中,与三角形有关的问题就经常出现。今天你要解决的,就是其中最简单的一个问题:

给定平面直角坐标系上的N个点,保证这N个点中任意三点都不共线。求任意三点能够构成的三角形中,面积最大的三角形的面积。

输入

输入的第一行是一个整数T(1 <= T <= 10),表示一共有T组用例。

每组用例的第一行为一个整数N(3 <= n <=
100),表示平面上点的个数。接下来的N行,每行包含两个用空格隔开的整数Xi和Yi(-1000 <= Xi, Yi <=
1000),表示第i个点的坐标(Xi, Yi)。

输出

每组用例输出一个数,表示最大的三角形的面积,结果保留一位小数。

输入样例

2

4

-1 1

1 1

1 -1

-1 -1

3

-1 -1

3 0

0 0

输出样例

2.0

1.5

参考技术A #include <stdio.h>
main()

int t,n,i,j,k,l,temp,a[10000][2];float s=0;scanf("%d",&t);
for(i=0;i<t;i++)

scanf("%d",&n);s=0;
for(j=0;j<n;j++) scanf("%d %d",&a[j][0],&a[j][1]);
for(j=0;j<n;j++)
for(k=0;k<n;k++)
if(k==j) continue;
for(l=0;l<n;l++)if(l==k||l==j) continue;
temp=(a[k][0]-a[j][0])*(a[l][1]-a[j][1])-(a[k][1]-a[j][1])*(a[l][0]-a[j][0]);
if(s<temp) s=temp;

printf("%.1f\n",s/2);

以上是关于C语言用三点求三角形面积 用行列式怎么写 不要海伦公式的主要内容,如果未能解决你的问题,请参考以下文章

C#编程 已知三个点求组成三角形的周长和面积

java 给定三个点由三个点求三角形周长和面积

高分求 编程 c语言 已知2点求角度

C语言 编写函数,输入三角形三边之长,求三角形面积。

c语言中输入三角形三边长,求三角形面积?

如何用C语言写出“输入三角形三边,计算三角形面积”的代码?