实验名称:用追赶法解三对角线方程组C语言程序设计 实验内容: 1.实验目的 掌握追赶法解三对角线方程组求解方法的C语言程序设计思想; 2.实验步骤 1)解决的问题:用追赶法求解三对角线方程组 2)软件: C语言 3)程序来源:自编 4)公式:
5)程序源代码: #include <stdio.h> #include <conio.h> #include <dos.h> void main() { char play; int i,n; float a[100],b[100],c[100],d[100]; float u[100],l[100],y[100],x[100]; do { textcolor(14); clrscr(); cprintf("Please input the square distance set of piece n:\r\n"); scanf("%d",&n); clrscr(); printf("Please input a2--an:\n"); for(i=2;i<=n;i++) { printf("a%d=",i); scanf("%f",&a[i]); } clrscr(); printf("Please input b1--bn:\n"); for(i=1;i<=n;i++) { printf("b%d=",i); scanf("%f",&b[i]); } clrscr(); printf("Please input c1--c(n-1):\n"); for(i=1;i<n;i++) { printf("c%d=",i); scanf("%f",&c[i]); } clrscr(); printf("Please input d1--dn:\n"); for(i=1;i<=n;i++) { printf("d%d=",i); scanf("%f",&d[i]); } clrscr(); u[1]=b[1]; y[1]=d[1]; for(i=2;i<=n;i++) { l[i]=a[i]/u[i-1]; u[i]=b[i]-l[i]*c[i-1]; y[i]=d[i]-l[i]*y[i-1]; } x[n]=y[n]/u[n]; for(i=n-1;i>0;i--) x[i]=(y[i]-c[i]*x[i+1])/u[i]; cprintf("The result:\r\n\n"); for(i=n;i>=1;i--) printf(" x%d=%f\n",i,x[i]); getche(); printf("\n"); printf("continue?(y/n)"); play=getche(); }while(play=='y'||play=='Y'); sound(555); delay(10000); nosound(); } 5)运行过程及结果:
先输入n的值,再分别输入a2---an,b1---bn,c1---cn-1,d1---dn的值即可。 如:用追赶法解三对角方程组 过程: Please input the square distance set of piece n: 4↙ (↙表示回车键) Please input a2--an: 1↙ 1↙ 2↙ Please input b1--bn: 2↙ 3↙ 1↙ 1↙ Please input c1--c(n-1): 1↙ 1↙ 1↙ Please input d1--dn: 1↙ 2↙ 2↙ 0↙ 结果: The result: X4=2.000000 X3=-1.000000 X2=1.000000 X1=0.000000 3.分析与讨论
WORD格式全文下载链接(充值:元)