C语言编写程序:求已知两个矩阵x与y之和,结果存到矩阵x中。大学c语言编程题。
5条回答 默认 最新
- 技术专家团-小桥流水 2022-09-13 09:40关注
矩阵相加需要两个矩阵的行数和列数相同,然后对应位置的数字相加即可。
代码如下:
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> int main() { int** x, ** y; //动态分配内存 int m, n; //矩阵的行数和列数 int i, j; //临时变量 printf("请输入矩阵的行数和列数:"); scanf_s("%d %d", &m, &n); //申请x内存 x = (int**)malloc(sizeof(int*) * m); for (i = 0; i < m; i++) x[i] = (int*)malloc(sizeof(int) * n); //申请y内存 y = (int**)malloc(sizeof(int*) * m); for (i = 0; i < m; i++) y[i] = (int*)malloc(sizeof(int) * n); printf("请输入%d*%d的矩阵x:\n",m,n); for (i = 0; i < m; i++) { for (j = 0; j < n; j++) scanf_s("%d", &x[i][j]); } printf("请输入%d*%d的矩阵y:\n", m, n); for (i = 0; i < m; i++) { for (j = 0; j < n; j++) scanf_s("%d", &y[i][j]); } printf("x+y=\n"); //计算矩阵的和并存入x for (i = 0; i < m; i++) { for (j = 0; j < n; j++) { x[i][j] += y[i][j]; printf("%d ", x[i][j]); //输出结果 } printf("\n"); } //释放内存 for (i = 0; i < m; i++) { free(x[i]); x[i] = 0; free(y[i]); y[i] = 0; } free(x); free(y); x = 0; y = 0; return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥15 远程桌面文档内容复制粘贴,格式会变化
- ¥15 关于#java#的问题:找一份能快速看完mooc视频的代码
- ¥15 这种微信登录授权 谁可以做啊
- ¥15 请问我该如何添加自己的数据去运行蚁群算法代码
- ¥20 用HslCommunication 连接欧姆龙 plc有时会连接失败。报异常为“未知错误”
- ¥15 网络设备配置与管理这个该怎么弄
- ¥20 机器学习能否像多层线性模型一样处理嵌套数据
- ¥20 西门子S7-Graph,S7-300,梯形图
- ¥50 用易语言http 访问不了网页
- ¥50 safari浏览器fetch提交数据后数据丢失问题