数组问题 求解呀
#include <stdio.h>#define MAX 10
double TriangleArea(int n,double a[MAX][MAX]);
int main()
{
//double area;
int i,j;
int n=3;//点的个数
//int n2=3;//数组的维数
double a[MAX][MAX];
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
{
if(j<3)
{
printf("please input the point\n");
scanf("%d",&a[i][j]);
}
else
{
a[i][j]=2;//这里为什么赋值不进去呀
}
}//我想把这个数组的类型换为double但是要出错,大神帮我改一下呗,
printf("\n");
}
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
{
printf("%d ",a[i][j]);
}
printf("\n");
}
//area=TriangleArea(n2,a);
//printf("%f",area);
return 0;
}
double TriangleArea(int n,double a[MAX][MAX])
{
int p,i,j,k,x;
double sum=0;
double b[MAX][MAX];
for(i=1;i<=n;i++)
{
for(j=1;j<=n-1;j++)
{
for(k=1;k<=n-1;k++)
{
if(j<i)
p=0;
else
p=1;
b[j][k]=a[j+p][k++];
}
}
if(i%2!=0)
x=1;
else
x=(-1);
sum+=a[i][1]*x*TriangleArea(n-1,b);
printf("%d\n",sum);
}
return sum;
}