例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<;//头文件 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 请按任意键继续. . .