C语言 | 求3*4的矩阵最大数及行号列号


“要成为绝世高手,并非一朝一夕,除非是天生武学奇才,但是这种人…万中无一”

——包租婆
这道理放在C语言学习上也一并受用。在编程方面有着天赋异禀的人毕竟是少数,我们大多数人想要从C语言小白进阶到高手,需要经历的是日积月累的学习。那么如何学习呢?当然是每天都练习一道C语言题目!!

C语言 | 求3*4的矩阵最大数及行号列号_Java


作者

闫小林

白天搬砖,晚上做梦。我有故事,你有酒么?


例25:C语言实现求3*4的矩阵中制最大的那个元素的值,以及其所在的行号列号。
解题思路:
输出二维数组的各元素,方便核对输出的结果是否争取:

for(i=0;i<3;i++)//外层循环限制行,3行 
  {
    for(j=0;j<4;j++)//外层循环限制列,4列 
    {
      printf("%3d ",array[i][j]);//输出数组 
    }
    printf("\n");//换行 
  }

读者需要注意这两行代码,小林在row和column后都加了1,因为数组下标是从0开始的:
printf("行号是:%d\n",row+1);//行号 
printf("列号是:%d\n",column+1);//列号

源代码演示:
#include<stdio.h>//头文件 
int main()//主函数 
{
  int i,j;//定义整型变量 
  int row,column,max;//定义行号、列号、最大值变量 
  int array[3][4]={{1,2,3,4},{90,8,7,6},{-10,10,-5,2}};//定义二维数组且赋值 
  for(i=0;i<3;i++)//外层循环限制行,3行 
  {
    for(j=0;j<4;j++)//外层循环限制列,4列 
    {
      printf("%3d ",array[i][j]);//输出数组,宽度为3 
    }
    printf("\n");//换行 
  }
  printf("------------------\n");//分割开 
  max=array[0][0];//先把数组的第一个数赋值给max 
  for(i=0;i<3;i++)//外层循环限制行,3行 
  {
    for(j=0;j<4;j++)//外层循环限制列,4列 
    if(array[i][j]>max)//将数组中的每个数与第一个进行比较 
    {
      max=array[i][j];//把大的赋值给max 
      row=i;//把大的数的行号赋值给row 
      column=j;//把大的数的列号赋值给column 
    }
  }
  printf("max=%d\n",max);//输出最大的数 
  printf("行号是:%d\n",row+1);//行号 
  printf("列号是:%d\n",column+1);//列号 
  return 0;//函数返回值为0 
}

编译运行结果如下:
1 2 3 4
 90 8 7 6
-10 10 -5 2
------------------
max=90
行号是:2
列号是:1

--------------------------------
Process exited after 0.0816 seconds with return value 0
请按任意键继续. . .


以上,如果你看了觉得对你有所帮助,就给小林点个赞叭,这样小林也有更新下去的动力,跪谢各位父老乡亲啦~
C语言学习路线    C语言开发工具
C++学习路线    C#学习路线