求助:c语言中的三角形问题。。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求助: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
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语言中的三角形问题。。的主要内容,如果未能解决你的问题,请参考以下文章