c语言基础:L1-048 矩阵A乘以B
给定两个矩阵A和B,要求你计算它们的乘积矩阵AB。需要注意的是,只有规模匹配的矩阵才可以相乘即若A有Ra行、Ca列,B有Rb行、Cb列,则只有Ca与Rb相等时,两个矩阵才能相乘。
输入格式:
输入先后给出两个矩阵A和B。对于每个矩阵,首先在一行中给出其行数R和列数C,随后R行,每行给出C个整数,以1个空格分隔,且行首尾没有多余的空格。输入保证两个矩阵的R和C都是正数,并且所有整数的绝对值不超过100。
输出格式:
若输入的两个矩阵的规模是匹配的,则按照输入的格式输出乘积矩阵AB,否则输出Error: Ca != Rb,其中Ca是A的列数,Rb是B的行数。
输入样例1:
2 3
1 2 3
4 5 6
3 4
7 8 9 0
-1 -2 -3 -4
5 6 7 8
输出样例1:
2 4
20 22 24 16
53 58 63 28
输入样例2:
3 2
38 26
43 -5
0 17
3 2
-11 57
99 68
81 72
输出样例2:
Error: 2 != 3
程序源码:
#include <stdio.h> int main() {// 定义四个整型变量a, b, c, d,这些变量将用于存储用户输入的两个矩阵的行数和列数 int a, b, c, d;// 从标准输入读取两个整数,并将它们存储在变量a和b中 scanf("%d %d", &a, &b);// 根据用户输入的行数a和列数b,定义一个二维数组matrix1,用于存储第一个矩阵的元素 int matrix1[a][b];// 第一个for循环,遍历矩阵matrix1的每一行 for (int i = 0; i < a; i++) {// 第二个for循环,遍历矩阵matrix1的每一列 for (int j = 0; j < b; j++) {// 从标准输入读取一个整数,并存储在matrix1的(i, j)位置上 scanf("%d", &matrix1[i][j]);}}// 从标准输入读取两个整数,并将它们存储在变量c和d中,用于存储用户输入的第二个矩阵的行数和列数 scanf("%d %d", &c, &d);// 根据用户输入的行数c和列数d,定义一个二维数组matrix2,用于存储第二个矩阵的元素 int matrix2[c][d];// 第一个for循环,遍历矩阵matrix2的每一行 for (int i = 0; i < c; i++) {// 第二个for循环,遍历矩阵matrix2的每一列 for (int j = 0; j < d; j++) {// 从标准输入读取一个整数,并存储在matrix2的(i, j)位置上 scanf("%d", &matrix2[i][j]);}}// 如果变量b不等于变量c,执行下面的代码 if (b != c) {// 输出错误信息,指明b和c不相等 printf("Error: %d != %d\n", b, c);}else {// 如果b和c相等,输出a和d的值 printf("%d %d\n", a, d);// 定义一个名为countCol的整型变量,并初始化为0 int countCol = 0;// 遍历矩阵matrix1的每一行 for (int i = 0; i < a; i++) {// 遍历矩阵matrix1的每一列 for (int j = 0; j < d; j++) {// 定义一个名为sum的整型变量,并初始化为0 int sum = 0;// 遍历矩阵matrix1的每一列 for (int k = 0; k < b; k++) {// 计算matrix1的第i行和matrix2的第j列的点积,并累加到sum中 sum = sum + matrix1[i][k] * matrix2[k][j];}// 如果当前列不是最后一列,输出计算得到的sum,后面跟一个空格 if (j < d - 1) {printf("%d ", sum);}// 如果当前列是最后一列,输出计算得到的sum,后面跟一个换行符 else {printf("%d\n", sum);}}}}// 程序执行完毕,返回0,表示程序正常结束 return 0;
}
相关文章:
c语言基础:L1-048 矩阵A乘以B
给定两个矩阵A和B,要求你计算它们的乘积矩阵AB。需要注意的是,只有规模匹配的矩阵才可以相乘即若A有Ra行、Ca列,B有Rb行、Cb列,则只有Ca与Rb相等时,两个矩阵才能相乘。 输入格式: 输入先后给出…...
asp.net乒乓球场地管理系统VS开发sqlserver数据库web结构c#编程Microsoft Visual Studio
一、源码特点 asp.net乒乓球场地管理系统是一套完善的web设计管理系统,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为vs2010,数据库为sqlserver2008,使用c#语 言开发 asp.net 乒乓球场地管理系统 二…...
git仓库中增加子仓库
在 Git 中包含另一个 Git 仓库通常使用 Git 子模块(Git Submodule)来实现。子模块允许你在一个 Git 仓库中包含另一个 Git 仓库,从而在一个仓库中管理多个相关但独立的项目。 以下是如何将一个 Git 仓库包含为另一个 Git 仓库的子模块的步骤…...
html中公用css、js提取、使用
前言 开发中,页面会有引用相同的css、js的情况,如需更改则每个页面都需要调整,重复性工作较多,另外在更改内容之后上传至服务器中会有缓存问题,特针对该情况对公用css、js进行了提取并对引用时增加了版本号 一、提取…...
Jprofiler V14中文使用文档
JProfiler介绍 什么是JProfiler? JProfiler是一个用于分析运行JVM内部情况的专业工具。 在开发中你可以使用它,用于质量保证,也可以解决你的生产系统遇到的问题。 JProfiler处理四个主要问题: 方法调用 这通常被称为"CPU分析"。方法调用可以通过不同的方式进行测…...
基于PHP的蛋糕甜品商店管理系统设计与实现(源码+lw+部署文档+讲解等)
文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序(小蔡coding) 代码参考数据库参考源码获取 前言 💗博主介绍:✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作者&am…...
DJYROS产品:基于DJYOS的国产自主割草机器人解决方案
基于都江堰泛计算操作系统的国产自主机器人操作系统即将发布…… 1、都江堰机器人操作系统命名:DJYROS 2、机器人算法:联合行业自主机器人厂家,构建机器人算法库。 3、机器人芯片:联合行业机器人AI芯片公司,构建专用…...
A预测蛋白质结构
基于AlphaFold2进行蛋白质结构预测的文章解析 RoseTTAFold: Tunyasuvunakool, K., Adler, J., Wu, Z. et al. Highly accurate protein structure prediction for the human proteome. Nature 596, 590–596 (2021) AlphaFold2: Accurate prediction of protein structures a…...
rust学习~slice迭代器
背景 pub fn iter(&self) -> Iter<_, T>查看Iter 结构体 pub struct Iter<a, T> whereT: a, {/* private fields */ }对迭代器求和 sum fn sum<S>(self) -> S whereSelf: Sized, // 该函数只能在具有已知大小的类型上调用S: Sum<Self::Item…...
python免杀初探
文章目录 loader基础知识loader参数介绍 evilhiding项目地址免杀方式修改加载器花指令混淆loader源码修改签名加壳远程条件触发修改ico的md5加密 loader基础知识 loader import ctypes #(kali生成payload存放位置) shellcode bytearray(b"shellc…...
OpenCV实现物体尺寸的测量
一 ,项目分析 物体尺寸测量的思路是找一个确定尺寸的物体作为参照物,根据已知的计算未知物体尺寸。 如下图所示,绿色的板子尺寸为220*300(单位:毫米),通过程序计算白色纸片的长度。 主要是通过…...
投资研报的优质网站
投资研报:https://www.zhihu.com/question/357713923/answer/2304672553...
每日刷题|贪心算法初识
食用指南:本文为作者刷题中认为有必要记录的题目 推荐专栏:每日刷题 ♈️今日夜电波:悬溺—葛东琪 0:34 ━━━━━━️💟──────── 3:17 …...
[python]如何操作Outlook实现邮件自动化
【背景】 邮件自动化存在很多需求场景,有的场景希望会出现Outlook窗口在发送前进行一下人工检查等等的人为干预,有的则希望定时直接发送,有的需要加附件等等。本篇讨论用Python覆盖这些Outlook邮件自动化场景的方法。 【解决方法】 首先Outlook和SMTP的邮件自动化方法所使…...
2008-2021年上市公司实体企业金融化程度测算数据(原始数据+stata代码)
2008-2021年上市公司实体企业金融化程度测算(原始数据stata代码) 1、时间:2008-2021年 2、指标:股票代码、年份、交易性金融资产、衍生金融资产、发放贷款及垫款净额、可供出售金融资产净额、持有至到期投资净额、长期债权投资净…...
day02_numpy_demo
Numpy Numpy的优势ndarray属性基本操作 ndarray.func() numpy.func()ndarray的运算:逻辑运算、统计运算、数组间运算合并、分割、IO操作、数据处理,不过这个一般使用的是pandas Numpy的优势 Numpy numerical数值化 python 数值计算的python库,用于快…...
LeetCode 414. Third Maximum Number【数组】简单
本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章…...
FPGA时序分析与约束(6)——综合的基础知识
在使用时序约束的设计过程中,综合(synthesis)是第一步。 一、综合的解释 在电子设计中,综合是指完成特定功能的门级网表的实现。除了特定功能,综合的过程可能还要满足某种其他要求,如功率、操作频率等。 有…...
Python实现一个简单的http服务,Url传参输出html页面
摘要 要实现一个可以接收参数的HTTP服务器,您可以使用Python标准库中的http.server模块。该模块提供了一个简单的HTTP服务器,可以用于开发和测试Web应用程序。 下面是一个示例代码,它实现了一个可以接收参数的HTTP服务器: 代码…...
力矩传感器模拟量与ADC采集输出数字量之间的关系
力矩传感器在测量力矩时,会输出一个模拟信号,通常是一个电压或电流信号。这个模拟信号的大小会根据所测量的力矩变化而变化。 ADC(模数转换器)是一种电子设备,可以将模拟信号转换为数字信号。ADC通过采样和量化模拟信…...
客户反馈闭环体系怎么搭?6 个模块讲透流程设计思路
很多企业并不缺客户反馈,真正缺的是一条能跑通的闭环链路。客服在记,销售在提,客户成功在跟,产品也在收,但信息一旦分散,后面就很容易断掉:有人收,没人判;有人判…...
FPGA设计里选乘法器IP还是写RTL?从面积、时序和易用性帮你决策
FPGA乘法器设计决策指南:IP核与RTL方案的深度权衡 在数字信号处理、通信系统和图像处理等FPGA应用领域,乘法器作为基础运算单元,其实现方式直接影响着系统性能、资源占用和开发效率。面对Xilinx/Altera提供的成熟IP核与自己编写RTL代码这两种…...
**声明式UI革命:用Flutter实现高性能、可维护的跨平台界面开发
声明式UI革命:用Flutter实现高性能、可维护的跨平台界面开发 在现代移动与Web应用开发中,声明式UI正逐渐成为主流范式。它通过将界面描述为状态的函数(即“视图 f(状态)”),极大简化了复杂交互逻辑的编写。本文以 Flu…...
如何设置密码复杂度策略以约束MongoDB用户的密码强度
启用 pwdPolicy 前必须开启 --auth 或 security.authorization: enabled,否则策略被忽略;setSecuritySettings 仅对新用户或手动改密生效;仅 minLength 和 characterClassCount 有效,其他字段未实现。启用 pwdPolicy 前必须开启访…...
5分钟快速上手:Android Studio中文语言包完整配置指南
5分钟快速上手:Android Studio中文语言包完整配置指南 【免费下载链接】AndroidStudioChineseLanguagePack AndroidStudio中文插件(官方修改版本) 项目地址: https://gitcode.com/gh_mirrors/an/AndroidStudioChineseLanguagePack 还在为Android …...
RocketMQ新手避坑:启动Broker时指定conf文件,解决connect to 172.17.42.1:10911 failed
RocketMQ连接错误深度解析:从172.17.42.1:10911失败到完美解决 第一次接触RocketMQ时,那种兴奋感很快被一连串的错误信息冲淡。记得那天深夜,我盯着屏幕上刺眼的"connect to 172.17.42.1:10911 failed"错误,反复检查每一…...
程序员面试:OpenClaw生成面试题、模拟面试,高效备战面试
程序员面试:OpenClaw生成面试题、模拟面试,高效备战面试引言在当今竞争激烈的科技行业中,程序员面试已成为求职过程中的关键环节。无论是应届毕业生还是资深开发者,面对算法题、系统设计题和行为问题,都可能感到压力重…...
FPGA显示进阶:不用专用芯片,如何用IO口模拟HDMI驱动640x480显示器?
FPGA显示进阶:用IO口模拟HDMI驱动640x480显示器的技术解析 在资源受限或高度定制化的FPGA应用场景中,如何突破专用芯片的限制,直接利用FPGA的通用IO实现高清视频输出?本文将深入探讨一种基于LVDS和TMDS协议的"软核"HDMI…...
免费开源远程桌面控制终极指南:如何用BilldDesk替代ToDesk和向日葵
免费开源远程桌面控制终极指南:如何用BilldDesk替代ToDesk和向日葵 【免费下载链接】billd-desk 基于Vue3 WebRTC Nodejs Flutter搭建的远程桌面控制、游戏串流 项目地址: https://gitcode.com/gh_mirrors/bi/billd-desk 你是否厌倦了远程控制软件的各种限…...
