例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
请按任意键继续. . .
文章来源: zhuanlan.zhihu.com,作者:,版权归原作者所有,如需转载,请联系作者。
原文链接:zhuanlan.zhihu.com/p/327710409