C语言实现一个矩阵乘法计算器

虽然一般做练习题的时候具体的矩阵最多四阶左右,但是作为实现该功能的代码最好不要局限于此。由于矩阵乘法的运算要求,第二个矩阵的行数必须与第一个矩阵的列数相等,且两个矩阵的行列数均不可小于或等于0,该算法会先要求输入第一个矩阵的行数与列数,然后按行输入矩阵的元素,接着输入第二个矩阵的行数与列数,判断是否符合要求,然后同样按行输入矩阵元素。然后就可以得到结果。

虽然还有很多可以改进的地方,比如把输入矩阵做成函数以简化代码,另外当时只是一边构思一边编写代码,所以命名极不规范,建议初学者不要养成这样的习惯。不过本人确实是初学者,目的只是实现这样一个小功能,细枝末节的地方暂不深究。

具体代码如下(请不要吐槽我混乱的代码风格)

#include <stdio.h>
int main(void)
{int m,n;                                    //输入第一个矩阵的规格printf("请输入第一个矩阵的行数和列数:\n");scanf("%d %d",&m,&n);if(m<=0||n<=0)                              //判断 m,n的值是否有效,如果无效重新输入{printf("不可小于或等于0!\n");printf("请重新输入第一个矩阵的行数和列数:");scanf("%d %d",&m,&n);}printf("请输入第一个矩阵的元素:\n");            //输入第一个矩阵的元素int array1[m][n];int x_1;int i_1,j_1;for(i_1=0;i_1<m;i_1++){for(j_1=0;j_1<n;j_1++){scanf("%d",&x_1);array1[i_1][j_1]=x_1;}}int p,q;                                       //输入第二个矩阵的规格printf("请输入第二个矩阵的行数和列数:\n");scanf("%d %d",&p,&q);if(p<=0||q<=0)                              //判断 m,n的值是否有效,如果无效重新输入{printf("不可小于或等于0!\n");printf("请重新输入第一个矩阵的行数和列数:\n");scanf("%d %d",&p,&q);}if(p!=n)                                    //判断第二个矩阵的行数是否等于第一个矩阵的列数  如果不等则重新输入第二个矩阵的行列数{printf("第二个矩阵的行数应等于第一个矩阵的列数!\n");printf("请重新输入第二个矩阵的行数和列数:\n");scanf("%d %d",&p,&q);}int array2[p][q];int x_2;int i_2,j_2;printf("请输入第二个矩阵的元素:\n");            //输入第二个矩阵的元素for(i_2=0;i_2<p;i_2++){for(j_2=0;j_2<q;j_2++){scanf("%d",&x_2);array2[i_2][j_2]=x_2;}}int array3[m][q];                         //定义第三个矩阵int i_3,j_3;int i;int sum=0;for(i_3=0;i_3<m;i_3++){for(j_3=0;j_3<q;j_3++){for(i=0;i<n;i++){sum=sum+array1[i_3][i]*array2[i][j_3];        //对前两个矩阵进行运算,讲结果保存在第三个矩阵里array3[i_3][j_3]=sum;}sum=0;}}printf("两个矩阵相乘得到的结果为:\n");for(i_3=0;i_3<m;i_3++)                              //输出结果矩阵{for(j_3=0;j_3<q;j_3++){printf("%d\t",array3[i_3][j_3]);}printf("\n");}return 0;
}

C语言实现一个矩阵乘法计算器相关推荐

  1. 用C语言实现一个简单的计算器代码

    #include <stdio.h> #include <math.h> #include <stdlib.h> //预处理指令 int main(void) {d ...

  2. 用c语言实现一个简单的计算器(数据结构)

    概要:主要以c语言为例对数据结构中写一个简易的计算器(计算整数间加减乘除括号运算)的算法进行大致讲述,细说如何去实现符号优先级的比较的函数实现. 注:由于编辑器缘故,本文内我以小写x代替了*作为乘号 ...

  3. c语言课程设计 矩阵乘法,C语言课程设计(论文)-矩阵乘法.doc

    C语言课程设计(论文)-矩阵乘法 学 号: 课 程 设 计 题 目矩阵乘法 教 学 院计算机学院 专 业09计算机科学与技术 班 级09计科(1)班 姓 名 指导教师 2010年12月25日 课程设计 ...

  4. c语言简单整数计算器代码,用c语言实现一个简单的计算器(数据结构)

    概要:主要以c语言为例对数据结构中写一个简易的计算器(计算整数间加减乘除括号运算)的算法进行大致讲述,细说如何去实现符号优先级的比较的函数实现. 注:由于编辑器缘故,本文内我以小写x代替了*作为乘号 ...

  5. c语言学习进阶-C语言程序实现矩阵乘法

    (1)设矩阵A 的数据放在A.txt 中,B 矩阵数据放在B.txt 中,这两个矩阵的相乘结果放 在C.txt 中,执行程序:d:>cf.exe A.txt B.txt C.txt 则将结果输出 ...

  6. C语言设计一个简单的计算器,完成两个数的加、减、乘、除、取余。(根据输入的运算符,选择相应的运算,用switch语句实现。

    设计一个简单的计算器,完成两个数的加.减.乘.除.取余.(根据输入的运算符,选择相应的运算,用switch语句实现. 实验代码: #include <stdio.h> #include & ...

  7. 信息学奥赛一本通C++语言——1125:矩阵乘法

    [题目描述] 计算两个矩阵的乘法.n×m阶的矩阵A乘以m×k阶的矩阵B得到的矩阵C 是n×k阶的,且C[i][j] = A[i][0]×B[0][j] + A[i][1]×B[1][j] + -- + ...

  8. 用C语言实现一个矩阵

    C语言实现矩阵 矩阵作为一个结构体而言,至少要包含行数.列数以及数据. #include <stdio.h> #include <stdlib.h> #include < ...

  9. c语言 实现一个简单的计算器系统

    思路 1.采用多文件编程,引入自己编写的calculator.h和calculator.c 2.main函数中调用printMainMenu函数打印主菜单,并使用switch判断执行的功能.为实现重复 ...

  10. c语言蓝桥杯矩阵乘法,蓝桥杯 基础练习 矩阵乘法

    友情提示:此篇文章大约需要阅读 2分钟37秒,不足之处请多指教,感谢您的阅读. 问题描述 给定一个N阶矩阵A,输出A的M次幂(M是非负整数) 例如: A = 1 2 3 4 A的2次幂 7 10 15 ...

最新文章

  1. 一致性 Hash 算法学习(分布式或均衡算法)
  2. Spring中的Advice类型及其应用
  3. ASP.NET AJAX 宝典系列(2) 在Visual Studio 2005 Web Application 项目中使用AJAX
  4. 回溯算法 ------回溯算法的几个例子
  5. 逻辑回归 - sklearn (LR、LRCV、MLP、RLR)- Python代码实现
  6. 码工里开关灯为什么遮罩层在下面_装修公司为什么推荐无主灯设计?
  7. 有哪些网站社区可以看原创平面设计大师作品?
  8. Visual Studio 中 Tab 转换为空格的设置
  9. 一种基于地图导航的语音识别管理系统的制作方法
  10. 高并发模拟( 测试 )
  11. Google Earth Engine ——消除影像色差直方图匹配算法(CDF累计分布函数)!
  12. 【原创工具 | NetSM】开源跨平台命令行网速监测(纯 Python 开发)
  13. win7更新_WIN7操作系统无法更新IE11的解决办法
  14. java 定时调用api_java定时任务接口ScheduledExecutorService
  15. matlab对语音信号预加重处理,语音信号的预加重处理和加窗处理 | 学步园
  16. Lucid Dream
  17. 直流有刷/无刷电机的介绍
  18. 【小程序】解析二维码decodeURIComponent()
  19. 游戏引擎架构----动画
  20. Intel 至强E5/E7 V4 CPU与至强可扩展CPU性能对比表

热门文章

  1. 在css表格怎么居中对齐,css居中和对齐方法集锦
  2. 前端三级联动 distpicker插件
  3. 从单机到分布式数据库存储系统的演进
  4. dnf虚拟机安装的解决方法
  5. origin 快捷键
  6. ffmpeg编解码命令(包含YUV编码到常见视频格式文件)
  7. C++:显示每年的各月份第一天是星期几
  8. Adobe Photoshop 2020 无法创建新建文档的两种解决方法
  9. 映美精(IMAGINGSOURCE)相机与OPENCV库(包含工程源码)
  10. 菜鸟使用mock.js心得