TTTTTTc语言!!求改错!!!!三角形面积TTTTTT

给定平面直角坐标系上的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

TTTTTT怎么改竟然编译都通不过TTTTTT

#include <stdio.h>

float GetMax(float s[20][20][20],int N[20])
{
float max=0;
int i,j,k,la;
for(i=1;i<=N[la];i++)
for(j=1;j<=N[la];j++)
for(k=1;k<=N[la];k++)
{
if (s[i][j][k]>max)
{
max=s[i][j][k];
}
}
return max;
}
void main()
{
int T,i,j,N[20],x[20][20],y[20][20],la,k;
float s[20][20][20],s1[20][20][20],max;

scanf("%d",&T);

for(i=1;i<=T;i++)
{
scanf("%d",&N[i]);
for(j=1;j<=N[i];j++)
{
scanf("%d%d",&x[i][j],&y[i][j]);
}
}
for(la=1;la<=T;la++) // as for 第la大组 数据
{
for(i=1;i<=N[la];i++)
for(j=1;j<=N[la];j++)
for(k=1;k<=N[la];k++)
{
s1[i][j][k] = 0.5 * (x[la][i]*y[la][j]+y[la][i]*x[la][k]+x[la][j]*y[la][k]-x[la][i]*y[la][k]-y[la][i]*x[la][j]-y[la][j]*x[la][k]);
s[i][j][k] = (s1[i][j][k]>0)?s1[i][j][k]:(0-s1[i][j][k]);
}
max[la]= 1.0 * GetMax(s[i][j][k],N[la]);
printf("%.1f\n",max[la]);
}
}

第1个回答  2013-05-31
float GetMax(float s[20][20][20],int N[20])参数都有问题
第2个回答  2013-06-11
...就这样
相似回答