当前位置: 首页 > news >正文

C语言 · 矩阵乘法

问题描述
  给定一个N阶矩阵A,输出A的M次幂(M是非负整数)
  例如:
  A =
  1 2
  3 4
  A的2次幂
  7 10
  15 22
输入格式
  第一行是一个正整数N、M(1<=N<=30, 0<=M<=5),表示矩阵A的阶数和要求的幂数
  接下来N行,每行N个绝对值不超过10的非负整数,描述矩阵A的值
输出格式
  输出共N行,每行N个整数,表示A的M次幂所对应的矩阵。相邻的数之间用一个空格隔开
样例输入
2 2
1 2
3 4
样例输出
7 10
15 22
 
代码如下:

#include<stdio.h>
/*输出矩阵的函数*/
void print(int c[][101],int n){
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
printf("%d ",c[i][j]);
}
printf("\n");
}
}
/*矩阵乘法函数*/
void Chengfa(int a[][101],int b[][101],int c[][101],int n,int m){
for(int p=1;p<m;p++){
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
int t=0;
for(int k=0;k<n;k++){
t += a[i][k]*b[k][j];
c[i][j]=t;
}
}
}
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
b[i][j]=c[i][j];
}
}
}
}

int main(){
int n,m;
int a[101][101]={0},b[101][101]={0},c[101][101]={0};
scanf("%d%d",&n,&m);
/*输入矩阵*/
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
scanf("%d",&a[i][j]);
}
}
/*记录矩阵*/
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
b[i][j]=a[i][j];
}
}
if(m==0){
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
if(i==j)
c[i][j]=1;
}
}
print(c,n);
}
else if(m==1){
print(a,n);
}
else{
Chengfa(a,b,c,n,m);
print(c,n);
}
return 0;
}

 
 
 
 
 
 
 

相关文章:

  • ”残酷“人生第一步
  • OVS local network 连通性分析 - 每天5分钟玩转 OpenStack(132)
  • 一个简单的图片查看器
  • JVM:查看java内存情况命令
  • 多线程编程(19) - 不使用同步工具, 手动协调线程依次执行
  • 软工实践总结
  • 《京韵大鼓——祭晴雯》(骆玉笙)(唱词文本)
  • FATAL ERROR: Could not find ./bin/my_print_defaults的解决办法
  • 第二热门语言:从入门到精通,Python数据科学简洁教程
  • SQLite入门与分析(四)---Page Cache之事务处理(3)
  • Linux 文件基本属性
  • linux常用命令以及命令帮助的使用
  • linux 安装fileinfo扩展
  • Linux 2.6.19.x 内核编译配置选项简介
  • Hibernate实体关系映射(OneToMany、ManyToOne双边)——完整实例
  • 「前端」从UglifyJSPlugin强制开启css压缩探究webpack插件运行机制
  • Angular2开发踩坑系列-生产环境编译
  • Apache的基本使用
  • django开发-定时任务的使用
  • JavaScript类型识别
  • Javascript设计模式学习之Observer(观察者)模式
  • nginx(二):进阶配置介绍--rewrite用法,压缩,https虚拟主机等
  • Python代码面试必读 - Data Structures and Algorithms in Python
  • React+TypeScript入门
  • Vim 折腾记
  • 前端临床手札——文件上传
  • 世界编程语言排行榜2008年06月(ActionScript 挺进20强)
  • 微服务入门【系列视频课程】
  • 温故知新之javascript面向对象
  • 问题之ssh中Host key verification failed的解决
  • 小程序滚动组件,左边导航栏与右边内容联动效果实现
  • 以太坊客户端Geth命令参数详解
  • 因为阿里,他们成了“杭漂”
  • 硬币翻转问题,区间操作
  • Android开发者必备:推荐一款助力开发的开源APP
  • TPG领衔财团投资轻奢珠宝品牌APM Monaco
  • #QT(TCP网络编程-服务端)
  • #QT(一种朴素的计算器实现方法)
  • #我与Java虚拟机的故事#连载12:一本书带我深入Java领域
  • (1)常见O(n^2)排序算法解析
  • (Redis使用系列) Springboot 实现Redis 同数据源动态切换db 八
  • (四)docker:为mysql和java jar运行环境创建同一网络,容器互联
  • (一)插入排序
  • (原+转)Ubuntu16.04软件中心闪退及wifi消失
  • (原創) 系統分析和系統設計有什麼差別? (OO)
  • (转)PlayerPrefs在Windows下存到哪里去了?
  • .net core 6 集成和使用 mongodb
  • .NET Core 控制台程序读 appsettings.json 、注依赖、配日志、设 IOptions
  • .net framework profiles /.net framework 配置
  • .Net 知识杂记
  • .net的socket示例
  • .net中应用SQL缓存(实例使用)
  • [ HTML + CSS + Javascript ] 复盘尝试制作 2048 小游戏时遇到的问题
  • []指针
  • [AIGC] Java 和 Kotlin 的区别