(完整word版)矩阵的运算程序(C语言版)_第1页
(完整word版)矩阵的运算程序(C语言版)_第2页
(完整word版)矩阵的运算程序(C语言版)_第3页
(完整word版)矩阵的运算程序(C语言版)_第4页
(完整word版)矩阵的运算程序(C语言版)_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、#include#define M 20#define N 20float AMN;float BMN;float CMN;int i,j,m,n,p,q;float y=1.0;void main()printf( #n);printf( # printf( # printf( # printf( # printf( #欢迎您使用 矩阵函数包系统。#n);系统功能:#n);计算两个矩阵相加,相减;#n);数乘矩阵;矩阵转置;求逆#n);矩阵 #n);printf( #n);printf(请选择您需要的运算,按回车键结束n);*n);printf(1 printf(2printf(3 prin

2、tf(4printf(5 printf(6print*”*,矩阵相加n) ,矩阵相减n) ,数乘矩阵n) ,矩阵转置n) ,逆矩阵n);,退出n);printf( *n);int x;scanf(%d,&x);switch (x)case 1:printf( 请输入矩阵A的行数和列数(用逗号隔开):);scanf(%d,%d,&i,&j);printf( 请输入矩阵B的行数和列数(用逗号隔开):);scanf(%d,%d,&m,&n);if(i!=m|j!=n)print*”*对不起,您输入的两个矩阵不能相加,请重试.*n);else printf( 请输入矩阵 A:n);for(p=0;pi

3、;p+)for(q=0;qj;q+) scanf(%f,&Apq);printf( 输出矩阵A: n);for(p=0;pi;p+)for(q=0;qj;q+)printf(%10.2f,Apq);if(q+1)%j=0)printf(n);printf( 请输入矩阵B: n);for(p=0;pi;p+)for(q=0;qj;q+) scanf(%f,&Bpq);printf( 输出矩阵B: n);for(p=0;pi;p+)for(q=0;qj;q+)printf(%10.2f,Bpq);if(q+1)%j=0)printf(n);printf(矩阵AWP$ B为:n); 计算两个矩阵相加

4、for(p=0;pi;p+) for(q=0;qj;q+)Cpq=Apq+Bpq;for(p=0;pi;p+)for(q=0;qj;q+)printf(%10.2f,Cpq);if(q+1)%j=0) printf(n);break;case 2:printf(请输入矩阵A的行数和列数(用逗号隔开):);scanf(%d,%d,&i,&j);printf(请输入矩阵B的行数和列数(用逗号隔开):);scanf(%d,%d,&m,&n);if(i!=m|j!=n).*n);printf(* 对不起,您输入的两个矩阵不能相减,请重试else printf( 请输入矩阵A:n);for(p=0;pi

5、;p+)for(q=0;qj;q+)scanf(%f,&Apq);printf( 输出矩阵A:n);for(p=0;pi;p+)for(q=0;qj;q+)printf(%10.2f,Apq);if(q+1)%j=0)printf(n);printf( 请输入矩阵B: n);for(p=0;pi;p+)for(q=0;qj;q+)scanf(%f,&Bpq);printf( 输出第矩阵B:n);for(p=0;pi;p+)for(q=0;qj;q+)printf(%10.2f,Bpq);if(q+1)%j=0)printf(n);printf( 矩阵A-矩阵B为:n); 计算两个矩阵相减for

6、(p=0;pi;p+)for(q=0;qj;q+)Cpq=Apq-Bpq;for(p=0;pi;p+)for(q=0;qj;q+)printf(%10.2f,Cpq);if(q+1)%j=0)printf(n);break;case 3:float k;printf(请输入矩阵A的行数和列数(用逗号隔开):);scanf(%d,%d,&i,&j);printf( 请输入矩阵An);for(p=0;pi;p+)for(q=0;qj;q+)scanf(%f,&Apq);printf( 输出矩阵An);for(p=0;pi;p+) for(q=0;q勺q+)printf(%10.2f,Apq);if

7、(q+1)%j=0) printf(n);printf(请输入一个实数:n);scanf(%f,&k);for(p=0;pi;p+) /数乘矩阵for(q=0;qj;q+) Bpq=k*Apq;printf(输出k乘矩阵A的结果n);for(p=0;pi;p+)for(q=0;qj;q+) (printf(%10.2f,Bpq);if(q+1)%j=0) printf(n);) ;break;case 4:(printf(请输入矩阵A的行数和列数(用逗号隔开):); scanf(%d,%d,&i,&j);printf(请输入矩阵A:n);for(p=0;pi;p+)for(q=0;qj;q+)

8、 scanf(%f,&Apq); printf(输出矩阵 An); for(p=0;pi;p+) for(q=0;qj;q+) ( printf(%10.2f,Apq); if(q+1)%j=0) printf(n);for(p=0;pi;p+) / 转置for(q=0;qj;q+) Bqp=Apq; printf(输出矩阵A的转置矩阵:n); for(p=0;pj;p+)for(q=0;qi;q+)printf(%10.2f,Bpq); if(q+1)%i=0) printf(n); ;break;case 5:float aM2*M;float bN2*N;float t,x;int k,

9、T;printf( 输入方阵的维数:n); /请输入方阵,即行和列相等的矩阵。scanf(%d,&T);printf( 请输入矩阵:n);for(i=0;iT;i+)for (j=0;jT;j+) scanf(%f,&bij); printf( 原矩阵为:n);for (i=0;iT;i+)for (j=0;jT;j+) printf(%10.3f,bij); printf(n);for(i=0;iT;i+) for(j=0;j(2*T);j+) if (jT) aij=bij;else if (j=T+i) aij=1.0;else aij=0.0; for(i=0;iT;i+)for(k=0;kT;k+) if(k!=i)t=aki/aii;for(j=0;j(2*T);j+)x=aij*t; akj=akj-x;for(i=0;iT;i+)t=aii;for(j=0;j(2*T);j+) aij=aij/t; for(i=0;iT;i+) y=y*aii;n);if(y=0) printf( 对不起,您输入的矩阵没有逆矩阵,请重新输入。 else for(i=0;iT;i+)for(j=0;jT;j+) bij=aij+T;printf( 逆矩阵为:n);for (i=0;iT;i

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论