|
作者: 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号