欢迎来到天天文库
浏览记录
ID:55853328
大小:5.81 MB
页数:17页
时间:2020-03-14
《数值计算方法实验报告(太原理工大学).doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、《数值计算方法》实验报告学院:太原理工大学现代科技学院专业班级:姓名:学号:指导教师:时间:17学院现代科技学院专业日期2010年04月学号姓名成绩实验题目线性方程组高斯解法指导老师一.实验目的1.熟练运用已学计算方法求解方程组。2.加深对计算方法技巧,选择正确的计算方法来求解各种方程组。3.培养使用电子计算机进行科学计算和解决问题的能力。二.实验环境DEV-C++实验语言:c语言三.实验内容1.合理利用Gauss消元法求解下列方程组:①四.实验公式高斯分解法:lik=aik/akkaij=aij-lik*akjk=1,2,…,n-1i=k+1,k+2,…,nj=k+1
2、,k+2,…,n+1xn=ann+1/annxk=(akn+1-∑akjxj)/akk(k=n-1,n-2,…,2,1)五.源程序#include#include#include#defineMAX20floatfArrx[MAX],fArra[MAX][MAX],fArrl[MAX][MAX],fArrt[MAX][MAX];voidwelcome();voidinput(intnum);voidoutput(intnum,intiFlag);voidArratoArrt(intnum);voidprintArr
3、t(intnum);voidGauss(intnum);voidprintresult(intnum,intiFlag);intmain(void){intnum,iFlag;charcFlag;welcome();printf("----->请输入方程个数值<2~10>:");17iFlag=scanf("%d",&num);fflush(stdin);while(num<2
4、
5、num>10
6、
7、iFlag==0){iFlag=1;printf("****输入有误,请重新输入****");printf("----->请输入方程个数值<2~10>:");iFl
8、ag=scanf("%d",&num);fflush(stdin);}do{input(num);printf("_______________________________________________________________________________");output(num,iFlag);printf("_______________________________________________________________________________");printf("----->确认请输入重新输入请输入9、>:");cFlag=getchar();fflush(stdin);while(cFlag!='Y'&&cFlag!='y'&&cFlag!='N'&&cFlag!='n'){printf("****输入有误,请重新输入****");printf("----->确认请输入重新输入请输入:");cFlag=getchar();fflush(stdin);}}while(cFlag=='N'10、11、cFlag=='n');ArratoArrt(num);iFlag=100;Gauss(num);printresult(num,iFlag);system("12、pause");return0;}voidwelcome(){system("cls");printf("数值计算方法:高斯消元法");printf("------------------------------------WELCOME-------------------------------------");printf("");}voidinput(intnum){inti,j;printf("----->请按行顺序输入线性方程组各数值:");for(i=1;i<=num;i++){17for(j=1;j<=num+1;j++){scanf13、("%f",&fArra[i][j]);}}fflush(stdin);}voidoutput(intnum,intiFlag){inti,j;if(iFlag==100){printf("----->消元后的线性方程为:");}else{printf("-------您输入的线性方程数值为:");}for(i=1;i<=num;i++){for(j=1;j<=num+1;j++){printf("%ft",fArra[i][j]);}putchar('');}}voidArratoArrt(intnum){in
9、>:");cFlag=getchar();fflush(stdin);while(cFlag!='Y'&&cFlag!='y'&&cFlag!='N'&&cFlag!='n'){printf("****输入有误,请重新输入****");printf("----->确认请输入重新输入请输入:");cFlag=getchar();fflush(stdin);}}while(cFlag=='N'
10、
11、cFlag=='n');ArratoArrt(num);iFlag=100;Gauss(num);printresult(num,iFlag);system("
12、pause");return0;}voidwelcome(){system("cls");printf("数值计算方法:高斯消元法");printf("------------------------------------WELCOME-------------------------------------");printf("");}voidinput(intnum){inti,j;printf("----->请按行顺序输入线性方程组各数值:");for(i=1;i<=num;i++){17for(j=1;j<=num+1;j++){scanf
13、("%f",&fArra[i][j]);}}fflush(stdin);}voidoutput(intnum,intiFlag){inti,j;if(iFlag==100){printf("----->消元后的线性方程为:");}else{printf("-------您输入的线性方程数值为:");}for(i=1;i<=num;i++){for(j=1;j<=num+1;j++){printf("%ft",fArra[i][j]);}putchar('');}}voidArratoArrt(intnum){in
此文档下载收益归作者所有