C语言获取矩阵的最大值及其下标
本实例要求使用二维数组将一个 3×4 的矩阵中所有元素的最大值及其下标获取,通过该程序,掌握二维数组的引用知识。
二维数组元素的一般表示方法为:“数组名[下标][下标]”。对于二维数组,下标变量和数组说明在表示形式上是一样的,比如在本例中,有语句:int a[3][4]; a[3][4]=2/3;
上述语句中“a[3][4]”是完全不同的两个概念,第一个语句中的“a[3][4]”用来定义一个数组,而第二个语句中的“a[3][4]”是一个双下标变量。
算法思想
针对本实例,有两个步骤需要编写程序完成:第一个步骤是求矩阵元素的最大值,可以通过相邻的元素大小比较,最终获取最大值;第二个步骤是针对获取到的元素最大值,求该元素的下标。二维数组元素的一般表示方法为:“数组名[下标][下标]”。对于二维数组,下标变量和数组说明在表示形式上是一样的,比如在本例中,有语句:int a[3][4]; a[3][4]=2/3;
上述语句中“a[3][4]”是完全不同的两个概念,第一个语句中的“a[3][4]”用来定义一个数组,而第二个语句中的“a[3][4]”是一个双下标变量。
程序代码
#include <stdio.h> int main() { int a[3][4],i,j,max,max_i=0,max_j=0; for(i=0;i<3;i++) for(j=0;j<4;j++) scanf("%d",&a[i][j]); max=a[0][0]; for(i=0;i<3;i++) for(j=0;j<4;j++) if(a[i][j]>max) { max=a[i][j]; max_i=i; max_j=j; } printf("max=a[%d][%d]=%d\n",max_i,max_j,max); return 0; }
调试运行结果
本实训的程序主要完成了两个功能:一是通过一个二次循环输入该二维数组的所有元素;二是将输入元素按照相邻关系进行比较,最终得到最大值和这个最大值的下标。如果输入数组是:1 2 3 4 5 6 7 99 9 10 11 12。则最终输出结果如下所示:
1 2 3 4 5 6 7 99 9 10 11 12
max=a[1][3]=99
所有教程
- C语言入门
- C语言编译器
- C语言项目案例
- 数据结构
- C++
- STL
- C++11
- socket
- GCC
- GDB
- Makefile
- OpenCV
- Qt教程
- Unity 3D
- UE4
- 游戏引擎
- Python
- Python并发编程
- TensorFlow
- Django
- NumPy
- Linux
- Shell
- Java教程
- 设计模式
- Java Swing
- Servlet
- JSP教程
- Struts2
- Maven
- Spring
- Spring MVC
- Spring Boot
- Spring Cloud
- Hibernate
- Mybatis
- MySQL教程
- MySQL函数
- NoSQL
- Redis
- MongoDB
- HBase
- Go语言
- C#
- MATLAB
- JavaScript
- Bootstrap
- HTML
- CSS教程
- PHP
- 汇编语言
- TCP/IP
- vi命令
- Android教程
- 区块链
- Docker
- 大数据
- 云计算