gauss.cpp

来自「数值计算的源代码」· C++ 代码 · 共 46 行

CPP
46
字号
#include<stdio.h>

void main()
{
	float a[11][12];
	int n,i,j,k;

  
	printf("input unknown numbers<max=10>:");
    scanf("%d",&n);
	printf("input all quotieties:\n");

	for(i=1;i<=n;i++)
		for(j=1;j<=n+1;j++)
			scanf("%f",&a[i][j]);


for(k=1;k<=n-1;k++)
{
for(i=k+1;i<=n;i++){a[i][k]=a[i][k]/a[k][k];}

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


}


a[n][n+1]=a[n][n+1]/a[n][n];


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

	a[i][n+1]=(a[i][n+1]-a[i][0])/a[i][i];
}
printf("The roots is:\n");
for(i=1;i<=n;i++)
{printf("X%d=%f\n",i,a[i][n+1]);}

}


⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?