用C语言实现矩阵运算_第1页
用C语言实现矩阵运算_第2页
用C语言实现矩阵运算_第3页
用C语言实现矩阵运算_第4页
用C语言实现矩阵运算_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

1、/任务二:矩阵的基本运算#include<stdio.h>#include<stdlib.h>#define R1 4/矩阵MA行数,可以按具体情况修改#define C1 4/矩阵MA列数,可以按具体情况修改#define R2 4/矩阵MB行数,可以按具体情况修改#define C2 4/矩阵MB列数,可以按具体情况修改 void Scalar(float MAC1);void Transposition(float MAC1);void Add(float MAC1,float MBC2);void Subtraction(float MAC1,float MBC

2、2);void Multiplication(float MAC1,float MBC2);void main()float MAR1C1,MBR2C2;int c;while(1) printf("功能如下:n"); printf("数乘矩阵 1n"); printf("矩阵转换 2n"); printf("矩阵相加 3n"); printf("矩阵相减 4n"); printf("矩阵乘法 5n"); printf("结束 0n"); printf(&

3、quot;请选定您需要的操作:n"); scanf("%d",&c); switch(c) case 1: Scalar(MA); break; case 2: Transposition(MA); break; case 3: if(R1=R2)&&(C1=C2) Add(MA,MB); else printf("矩阵MA与矩阵MB不能相减!n"); break; case 4: if(R1=R2)&&(C1=C2) Subtraction(MA,MB); else printf("矩阵MA与

4、矩阵MB不能相加!n"); break; case 5: if(C1=R2) Multiplication(MA,MB); else printf("矩阵MA与矩阵MB不能相乘!n"); break; case 0: printf("结束!n"); exit(0); break; default: printf("对不起,您的输入不合法!n"); break; void Scalar(float MAC1)/矩阵数乘函数int i,j,k;printf("请输入乘数:n");scanf("%d&

5、quot;,&k);printf("请输入%d*%d矩阵MA(每行以回车结束):n",R1,C1);for(i=0;i<R1;i+)for(j=0;j<C1;j+)scanf("%f",&MAij);printf("%d乘矩阵MA结果为:n",k);for(i=0;i<R1;i+)for(j=0;j<C1;j+)printf("%6.2f ",k*MAij);printf("n");void Transposition(float MAC1)/矩阵转置函数

6、int i,j;float MDC1R1=0;printf("请输入%d*%d矩阵MA(每行以回车结束):n",R1,C1);for(i=0;i<R1;i+)for(j=0;j<C1;j+)scanf("%f",&MAij);for(i=0;i<R1;i+)/将矩阵MA的第n行的值赋给矩阵MD的第n列for(j=0;j<C1;j+)MDji=MAij;printf("矩阵MA转置后的结果为:n");for(i=0;i<C1;i+)for(j=0;j<R1;j+)printf("%6

7、.2f ",MDij);printf("n");void Add(float MAC1,float MBC2)/矩阵加法函数int i,j;float MER1C1=0;printf("请输入%d*%d矩阵MA(每行以回车结束):n",R1,C1);for(i=0;i<R1;i+)for(j=0;j<C1;j+)scanf("%f",&MAij); printf("请输入%d*%d矩阵MB(每行以回车结束):n",R2,C2);for(i=0;i<R2;i+)for(j=0;j&

8、lt;C2;j+)scanf("%f",&MBij); for(i=0;i<R1;i+)for(j=0;j<C1;j+)MEij=MAij+MBij;for(i=0;i<R1;i+)for(j=0;j<C1;j+) printf("%6.2f ",MEij);printf("n");void Subtraction(float MAC1,float MBC2)/矩阵减法函数int i,j;float MFR1C1=0;printf("请输入%d*%d矩阵MA(每行以回车结束):n",

9、R1,C1);for(i=0;i<R1;i+)for(j=0;j<C1;j+)scanf("%f",&MAij); printf("请输入%d*%d矩阵MB(每行以回车结束):n",R2,C2);for(i=0;i<R2;i+)for(j=0;j<C2;j+)scanf("%f",&MBij); for(i=0;i<R1;i+) for(j=0;j<C1;j+) MFij=MAij-MBij;for(i=0;i<R1;i+)for(j=0;j<C1;j+) printf(

10、"%6.2f ",MFij);printf("n");void Multiplication(float MAC1,float MBC2)/矩阵相乘函数int i,j,k;float MGR1C2=0;printf("请输入%d*%d矩阵MA(每行以回车结束):n",R1,C1);for(i=0;i<R1;i+)for(j=0;j<C1;j+)scanf("%f",&MAij); printf("请输入%d*%d矩阵MB(每行以回车结束):n",R2,C2);for(i=0;i<R2;i+)for(j=0;j<C2;j+)scanf("%f",&MBij); for(i=0;

温馨提示

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

评论

0/150

提交评论