📄 zuiganfa.cpp
字号:
/***********************追赶法求解三对角线性方程组*******************/
#include "stdio.h"
#define n 5
//double a[n]={8,8,8,8,8};
//double c[n-1]={-1,1,-1,1};
//double d[n-1]={2,1,2,1};
//double b[n]={2.2,-2.54,8.26,8.32,-4.3};
double a[n]={4,4,4,4,4};
double c[n-1]={1,1,1,1};
double d[n-1]={1,1,1,1};
double b[n]={1,0.5,-1,3,2};
double x[n],y[n];
void print1(char ar[2],double *arr)
{
printf("%s is:\n",ar);
for(int j=0;j<n;j++)
{
if(j==0) printf("[");
printf("%8.3f",*(arr+j));
if(j!=n-1) printf(",");
else printf("\t]");
}
printf("\n");
}
void Zuiganfa()
{
int i;
double p[n],q[n-1];
p[0]=a[0];
for(i=1;i<=n-1;i++)
{
q[i-1]=c[i-1]/p[i-1];
p[i]=a[i]-d[i]*q[i-1];
}
print1("p",p);
//print1("q",q);
y[0]=b[0]/p[0];
for(i=2;i<=n;i++)
{
y[i-1]=(b[i-1]-d[i-1]*y[i-2])/p[i-1];
}
print1("y",y);
x[n-1]=y[n-1];
for(i=n-1;i>=1;i--)
{
x[i-1]=y[i-1]-q[i-1]*x[i];
}
print1("x",x);
}
int main()
{
Zuiganfa();
printf("hhh\n");
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -