expect ✀=✀, ✀,✀, ✀;✀, ✀asm✀, or ✀_attribute_✀ before ✀{✀ token 是什么意思!!!

2025-04-28 16:36:15
推荐回答(1个)
回答1:

给你改半天...问题太多了... 告诉我你要做个什么样的功能 我给重写遍吧....改比重写都费劲
如果你非要自己写... 就把函数传值和返回值那地方在看看

#include
int len(int n);
void row_transformation_1(int n,int *p[],int i,int j,int l);
void row_transformation_2(int n,int *p[],int i,int j);
void row_transformation_3(int n,int *p[],int i,int l);
int det(int n,int *p[]);
int main()
{
int n;
int i,j;

int *a[100],*b[100];
int **p;
scanf("%d",&n);
p=a;
for(i=0;i {
for(j=0;j {scanf("%d",&a[i][j]);}
for(;j<2*n;j++)
{
if(i==(j-n)) a[i][j]=1;
else a[i][j]=0;
}
}
for(i=0;i {
for(j=0;j b[i][j]=a[i][j];
}
if(det(n,b)==0) printf("The inverse matrix does not exist\n");
else
{ for(j=0;j {
if(a[j][j]==0)
{ for(i=j;i {if(a[i][j]!=0) {void row_transformation_2(n,a,j,i); break; }}
}
else
{for(i=j+1;i }//变成上三角矩阵

for(i=n-1;i>=0;i--)
{
for(j=i+1;j {
row_transformation_1(n,a,i,j,1/a[j][j]);
}
row_transformation_3(n,a,i,1/a[i][i]);
}//变成单位矩阵

for(i=0;i {
for(j=n;j<2*n;j++)
{printf("%d\t",a[i][j]);}
putchar('\n');
}//输出
}
return 0;
}

void row_transformation_1(int n,int *p[],int i,int j,int l)
{
int k;
for(k=0;k { *(*(p+i)+k)-=(*(*(p+j)+k))*l; }
}

void row_transformation_2(int n,int *p[],int i,int j)
{
int t,k;
for(k=0;k { t=*(*(p+i)+k);
*(*(p+i)+k)=*(*(p+j)+k);
*(*(p+j)+k)=t;
}
}

void row_transformation_3(int n,int *p[],int i,int l)
{ int k;
for(k=0;k { *(*(p+i)+k)/=l; }
}

int len(int n)
{return n;}

int det(int n,int *p[])
{
int i,j,k,m,sum=0;
if(n>1)
{ for(k=0;k {
int **a;
a=(int**)malloc(100);
for(j=0;j {
for(i=0;i {
if(j>=k) m=1; else m=0;
a[i][j]=*(*(p+i+1)+j+m);
}
}
sum+=(*(*p+k))*(pow(-1,k+2))*(det(n-1,a));
}
}
else return **p;
return sum;
}

给你改完能编译通过了... 没看明白你要的什么功能所以也不知道好不好使