论坛: 原创软件 标题: 行列式 复制本贴地址    
作者: morrel [morrel]    论坛用户   登录
#include <stdio.h>
#include <math.h>
int n;int a[10][10];
reverse(int s,int r)
{ int i,t;
for(i=1;i<=n;i++)
{t=a[i][i];a[r][i]=a[s][i];a[s][i]=t;}
printf("OK!\n");
}

qiu()
{int k,i,j,t, q,x;
for(k=1;k<=n;k++)
for(t=i=k;t<=n;t++)
{ if(a[i][i]==0)
{for(j=i+1;j<=n;j++)
if(a[j][i]!=0)break;
if(a[j][i]==0){printf("The answer is=0\n");exit(0);}
reverse(i,j); }
x=-a[t+1][i]/a[i][i];a[t+1][i]=0;
for(j=i+1;j<=n;j++)
a[t+1][j]=a[t][j]*x+a[t+1][j];}
q=a[1][1];
for(i=2;i<=n;i++)
q*=(float)a[i][i];
printf("The answer is=%d\n",q);
}

main()
{ int i,j;
  printf("Please input the n:\n");
  scanf("%d",&n);
  for(i=1;i<=n;i++)
  {printf("Line %d :",i);
  for(j=1;j<=n;j++)
  scanf("%d",&a[i][j]);
  }
  qiu(); 
  for(i=1;i<=n;i++)
  {for(j=1;j<=n;j++)
  printf("%d\t",a[i][j]);
  printf("\n");}
   
  }


[此贴被 小范(morrel) 在 03月30日16时45分 编辑过]


[此贴被 小范(morrel) 在 03月30日16时46分 编辑过]

地主 发表时间: 04-03-21 22:44

回复: morrel [morrel]   论坛用户   登录
该程序用的是int类型的变量,所以有时有误差,可是 我用float型是它提示我的float型与终端没连上,不知道什么原因,希望大家的指教哦!


[此贴被 小范(morrel) 在 03月31日21时08分 编辑过]

B1层 发表时间: 04-03-30 16:42

回复: kailangq [kailangq]   版主   登录
MM的当然顶

B2层 发表时间: 04-04-02 05:16

论坛: 原创软件

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号