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 + -
显示快捷键?