ddddd.cpp
来自「这是数值计算的有关jacobi迭代法的源程序」· C++ 代码 · 共 57 行
CPP
57 行
#include<stdio.h>
#include<math.h>
void main()
{
float a[10][11],x1[10],x2[10],temp=0,fnum=0;
int i,j,n,bk=0;
printf("使用Jacobi迭代法求解方程组:\n");
printf("输入方程组的元(n<10):\nn=");
scanf("%d",&n);
for(i=1;i<n+1;i++)
x1[i]=0;
printf("\n输入方程组的系数矩阵:\n");
for(i=1;i<n+1;i++)
{
j=1;
while(j<n+1)
{
printf("a%d%d=",i,j);
scanf("%f",&a[i][j]);
j++;
}
}
printf("\n输入方程组的常数项:\n");
for(i=1;i<n+1;i++)
{
printf("b%d=",i);
scanf("%f",&a[i][n+1]);
}
printf("\n");
while(bk!=1)
{
for(i=1;i<n+1;i++)
{
for(j=1;j<n+1;j++)
{
if (j!=i)
temp=a[i][j]*x1[j]+temp;
}
x2[i]=(a[i][n+1]-temp)/a[i][i];
temp=0;
}
for(i=1;i<n+1;i++)
{
fnum=float(fabs(x1[i]-x2[i]));
if(fnum>temp) temp=fnum;
}
if(temp<=pow(10,-4)) bk=1;
for(i=1;i<n+1;i++)
x1[i]=x2[i];
}
printf("原方程组的解为:\n");
for(i=1;i<n+1;i++)
{
printf("x%d=%7.4f ",i,x1[i]);
printf("\n");
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?