《高斯列主元消元法的VC语言代码.doc》由会员分享,可在线阅读,更多相关《高斯列主元消元法的VC语言代码.doc(4页珍藏版)》请在金锄头文库上搜索。
1、【这是自己编写的程序,请自己阅读着使用。】/*shuzhi1*/#include #define C 3void main()float ACC; float bC; float XC; float t,r,s; int i,j,k,m,n; printf(Please input A:n); for(i=0;i=C-1;i+)for(j=0;j=C-1;j+) scanf(%f,&Aij); printf(The data in the computer is:nA=n); for(i=0;i=C-1;i+)for(j=0;j=C-1;j+)printf(%4.4f ,Aij);printf
2、(n); /*A数据的输入与检验*/printf(Is there any mistake? Press 1 for yes,Press 0 for no! );scanf(%d,&k);for(;k=1;)printf(Please input the adress(i,j) of the error data: );scanf(%d,&i);scanf(%d,&j);printf(Please input the right data: );scanf(%f,&t);Ai-1j-1=t;printf(The data in the computer is:nA=n); for(i=0;i=
3、C-1;i+) for(j=0;j=C-1;j+) printf(%4.4f ,Aij); printf(n);printf(Is there any mistake? Press 1 for yes,Press 0 for no! ); scanf(%d,&k); /*修改出错数据*/printf(Please input b:n);for(i=0;i=C-1;i+)scanf(%f,&bi); printf(The data in the computer is:nb=n);for(i=0;i=C-1;i+)printf(%4.4f ,bi); /*b数据的输入与检验*/printf(nI
4、s there any mistake? Press 1 for yes,Press 0 for no! );scanf(%d,&k);for(;k=1;)printf(Please input the adress(i) of the error data: );scanf(%d,&i);printf(Please input the right data: );scanf(%f,&t);bi-1=t;for(i=0;i=C-1;i+)printf(%4.4f ,bi); printf(nIs there any mistake? Press 1 for yes,Press 0 for no
5、! ); scanf(%d,&k); /*修改出错数据*/ /*选择主元*/for(i=0;i=C-2;i+)for(j=i+1;j=C-1;j+)if(Aii=0)r=-Aii;elser=Aii;if(Aji=0)s=-Aji;elses=Aji;if (rs)for(k=0;k=C-1;k+) t=0; t=Ajk; Ajk=Aik; Aik=t; /*交换Ai与Aj*/ t=0; t=bj;bj=bi;bi=t; /*交换b*/ printf(After %d change,the the A and b are:nn,i+1);for(m=0;m=C-1;m+)for(n=0;n=C
6、-1;n+)printf(%4.4f ,Amn); printf(b%d=%4.4f ,m+1,bm);printf(n);printf(n); /*打印变化后的数组*/ for(m=i+1;m=C-1;m+)t=(-Ami);for(n=0;n=C-1;n+) Amn=Amn+(Ain/Aii)*t;bm=bm+bi/Aii*t;for(m=0;m=C-1;m+)for(n=0;n=C-1;n+)printf(%4.4f ,Amn); printf(b%d=%4.4f ,m+1,bm);printf(n);printf(n); /*主元消零并打印当前数组*/ /*迭代求XC*/for(i=0;i=0;i-)t=0;for(j=i+1;j=C-1;j+) t=t+Aij*Xj;Xi=(bi-t)/Aii;printf(The answer of Ax=b is:n);for(i=0;i=C-1;i+) printf(X%d=%4.4f ,i,Xi);printf(n);/*程序结束*/