C語言獲取矩陣的最大值及其下標
本實例要求使用二維數組將一個 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;
}</stdio.h>
調試運行結果
本實訓的程序主要完成了兩個功能:一是通過一個二次循環輸入該二維數組的所有元素;二是將輸入元素按照相鄰關系進行比較,最終得到最大值和這個最大值的下標。如果輸入數組是: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
計算機學習推薦