求一个3*3矩阵对角线元素之和

简介: 求一个3*3矩阵对角线元素之和

C语言实现


方法一:直接访问对角线元素


c复制代码
 #include <stdio.h>  
 
   
 
 int main() {  
 
     int matrix[3][3] = {  
 
         {1, 2, 3},  
 
         {4, 5, 6},  
 
         {7, 8, 9}  
 
     };  
 
     int sum = 0;  
 
   
 
     // 遍历对角线元素  
 
     for(int i = 0; i < 3; i++) {  
 
         sum += matrix[i][i]; // 加上主对角线上的元素  
 
     }  
 
   
 
     printf("Diagonal sum is: %d\n", sum);  
 
   
 
     return 0;  
 
 }



方法二:使用函数封装


c复制代码
 #include <stdio.h>  
 
   
 
 // 定义一个函数来计算3x3矩阵对角线元素之和  
 
 int diagonalSum(int matrix[3][3]) {  
 
     int sum = 0;  
 
     for(int i = 0; i < 3; i++) {  
 
         sum += matrix[i][i];  
 
     }  
 
     return sum;  
 
 }  
 
   
 
 int main() {  
 
     int matrix[3][3] = {  
 
         {1, 2, 3},  
 
         {4, 5, 6},  
 
         {7, 8, 9}  
 
     };  
 
   
 
     printf("Diagonal sum is: %d\n", diagonalSum(matrix));  
 
   
 
     return 0;  
 
 }


Python实现

方法一:直接访问对角线元素


python复制代码
 def diagonal_sum(matrix):  
 
     return sum(matrix[i][i] for i in range(len(matrix)))  
 
   
 
 # 示例矩阵  
 
 matrix = [  
 
     [1, 2, 3],  
 
     [4, 5, 6],  
 
     [7, 8, 9]  
 
 ]  
 
   
 
 print("Diagonal sum is:", diagonal_sum(matrix))



方法二:使用NumPy库(虽然这不是纯Python的方法,但非常高效)

如果你在处理大型矩阵或需要矩阵运算的库,NumPy是一个很好的选择。


python复制代码
 import numpy as np  
 
   
 
 # 使用NumPy创建矩阵  
 
 matrix = np.array([  
 
     [1, 2, 3],  
 
     [4, 5, 6],  
 
     [7, 8, 9]  
 
 ])  
 
   
 
 # 使用NumPy的trace函数计算对角线之和  
 
 print("Diagonal sum is:", np.trace(matrix))


注意:NumPy方法对于处理大型数据集或需要执行复杂矩阵运算的场景特别有用。对于简单的3x3矩阵,直接使用Python列表和循环(如方法一)可能就足够了。

image.png


相关文章
|
XML Java 测试技术
通义灵码与githubcopilot的对比评测
本文评测了通义灵码,与github copilot在一些代码编写能力上面的能力比较。 虽然github copilot要强很多,但灵码目前的能力也不算很弱,并且在一些小类上会做的更好一些。 值得试试看,也是免费的
59202 10
|
12月前
|
前端开发 JavaScript 关系型数据库
门店排队免单系统开发规则技术
门店排队免单系统是一种结合排队管理、用户互动与数据分析的创新营销工具,通过设定免单条件、用户资格和名额限制等规则,吸引顾客并提升满意度。系统注重公平透明、数据安全及用户体验,同时运用前端(HTML/CSS/JavaScript、React/Vue)、后端(Node.js/Java/Python、Spring Boot/Django)、数据库(MySQL/PostgreSQL)等技术实现功能。此外,还支持排队管理、数据分析可视化、安全性保障及第三方支付与社交平台集成,为门店带来高效、智能的运营解决方案。
|
缓存 Java 数据库连接
Spring Boot奇迹时刻:@PostConstruct注解如何成为应用初始化的关键先生?
【8月更文挑战第29天】作为一名Java开发工程师,我一直对Spring Boot的便捷性和灵活性着迷。本文将深入探讨@PostConstruct注解在Spring Boot中的应用场景,展示其在资源加载、数据初始化及第三方库初始化等方面的作用。
497 0
|
9月前
|
人工智能 安全 Go
go快速上手:golang中的反射
本文深入解析Go语言反射机制,涵盖reflect包的核心类型与操作方法,通过实例演示如何动态获取类型信息、修改值及调用方法,并探讨反射的高级用法与注意事项,帮助开发者合理高效地使用反射。
405 1
|
11月前
|
人工智能 数据可视化 BI
HR必看!用工成本计算居然藏着这些猫腻?手把手教你算准每分钱
用工成本计算远比想象中复杂,隐藏的猫腻让90%的HR新手踩坑。本文从实际案例出发,解析用工成本构成,包括基础项、隐藏项及隐性支出,并揭示三大常见计算雷区。同时,推荐智能系统助力精准核算,通过数字化工具实现成本管控优化,如薪酬结构调整、弹性福利积分制等方法,为企业降本增效。未来,借助先进技术,用工成本管理将更加科学高效。
636 12
|
机器学习/深度学习 自然语言处理 算法
通过RAG增强大模型回答原本无法回答的问题
RAG(检索增强生成)是一种结合信息检索和文本生成技术的方法,旨在提升大规模语言模型处理特定问题的能力。通过先从大量文档中检索相关信息,再利用这些信息生成更准确的答案,RAG特别适用于需要最新数据或专业知识的场景,如医疗咨询、法律建议等。此方法不仅提高了答案的质量和准确性,还增强了系统的可扩展性和适应性。随着技术进步,RAG有望在更多领域发挥重要作用。
1323 2
|
存储 网络协议 算法
|
机器学习/深度学习 自然语言处理 算法
一个中心+三大原则 -- 阿里巴巴小蜜这样做智能对话开发平台
        在阿里巴巴智能服务事业部的X蜂会上,小蜜北京团队的高级算法专家李永彬(水德)分享了小蜜智能对话开发平台的构建,围绕平台来源、设计理念、核心技术、业务落地情况四大维度讲述了一个较为完整的智能任务型对话开发平台的全景。
5550 1
|
Java
全网最全Java快捷键~
全网最全Java快捷键~
502 0

热门文章

最新文章