📄 diedai.cpp
字号:
#include <stdio.h>
#define N 4
void main()
{
float a[N][N];
float b[N];
float x[N], y[N], m[N];
float m1,m2;
int i,j,k,l,p,s;
m1 = 0; m2 =0;
for(i=0; i<N; i++)
{x[i] = 0;
y[i] = 0;
m[i] =0;}
printf("input a[N][N]\n");
for(i=0; i<N; i++)
for(j=0; j<N; j++)
scanf("%f", &a[i][j]);
printf("input b[N]\n");
for(i=0; i<N; i++)
scanf("%f",&b[i]);
printf("方程组是:\n");
for(i=0; i<N; i++)
for(j=0; j<N; j++)
{if((j==0 && a[i][j] !=0) || a[i][j] < 0)
printf("%.2fX%d",a[i][j],j+1);
else if(a[i][j] > 0)
printf("+%.2fX%d",a[i][j],j+1);
else if(a[i][j] == 0)
printf(" ");
if(j==N-1)
{printf("= %.2f\n",b[i]);}
}
printf("请输入迭代次数k:\n");
scanf("%d",&k);
for(l=0; l<k; l++)
{
printf("第%d次迭代的结果是:\n",l);
for(i=0; i<N; i++)
{
for(p=0; p<N; p++)
x[p] = m[p];
for(j=0; j<=i-1; j++)
m1+=a[i][j]*x[j];
for(j=i+1; j<N; j++)
m2+=a[i][j]*x[j];
y[i] = (b[i] - m1 -m2)/a[i][i];
m1=0; m2=0;
printf("y[%d] = %f\n", i,y[i]);
}
for(s= 0; s<N; s++)
{x[s] = y[s];
m[s] = y[s];
//printf("y= %f\n",x[s]);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -