一道编C++程题

来源:百度知道 编辑:UC知道 时间:2024/06/07 23:37:57
如何编写一个程序计算n阶行列式的值?从键盘输入n的值和n个数.

#include <stdio.h>
#include <iostream.h>
double HangLSH(double *h,int n)
{
double *p=h,*q;
double jieguo=0;
int flag,i,j,k;
double a[10][10],b[10][10],c[100];
for(i=0;i<n;i++)
{
for (j=0;j<n;j++)
{
a[i][j]=*(p++);
b[i][j]=a[i][j];;

}

}

if (n==2)
{
return a[0][0]*a[1][1]-a[1][0]*a[0][1];
}
else
{
for (k=0;k<n ;k++)
{
if ((k+n-1)%2)
flag=-1;
else
flag=1;
for (i=0;i<n-1;i++)
{
for (j=0;j<k;j++)
a[i][j]=b[i][j];
for (j=k;j<n-1;j++)
a[i][j]=b[i][j+1];
}

for (i=0;i<n-1;i++)
{
for (j=0;j<n-1;j++)
c[i*(n-1)+j]=a[i][j];

}

jieguo+=b[n-1][k]*HangLSH(c,n-1)*flag;

}
return jieguo;
}
}
int main()