當前位置:編程學習大全網 - 源碼下載 - 編寫壹個C語言程序,計算5×5的矩陣的主對角線之和與次對角線之和並

編寫壹個C語言程序,計算5×5的矩陣的主對角線之和與次對角線之和並

#include?<stdio.h>

#define?LEN?50?/*數組長度*/

/*錄入矩陣內容*/?

void?inputMatrix?(int?matrix[LEN][LEN],?int?row,?int?col)?{

int?i,j;

printf?("請輸入%d行%d列的矩陣:\n",?row,?col);?

for?(i=0;?i<row;?i++)?{

printf?("第%d行:",?i+1);

for?(j=0;?j<col;?j++)?{

scanf?("%d",?&matrix[i][j]);

}

}

putchar?('\n');

return?1;

}

/*打印矩陣內容*/?

int?printMatrix?(int?matrix[LEN][LEN],?int?row,?int?col)?{

int?i,j;

for?(i=0;?i<row;?i++)?{

for?(j=0;?j<col;?j++)?{

printf?("%d\t",?matrix[i][j]);

}

putchar?('\n');

}

putchar?('\n');

return?1;

}

/*計算處理矩陣內容*/?

int?calcMatrix?(int?matrix[LEN][LEN],?int?row,?int?col)?{

int?mainDiagonalSum,?diagonalSum,?max,?min;

int?i,j;

if?(row!=col)?/*非正方形矩陣返回錯誤*/

return?0;

mainDiagonalSum?=?diagonalSum?=?0;

max?=?min?=?matrix[0][0];

for?(i=0;?i<row;?i++)?{

for?(j=0;?j<col;?j++)?{

if?(i==j)?/*主對角線*/

mainDiagonalSum?+=?matrix[i][j];

if?(i+j==row-1)?/*次對角線*/

diagonalSum?+=?matrix[i][j];

if?(matrix[i][j]>max)?/*求最大值*/

max?=?matrix[i][j];

if?(matrix[i][j]<min)?/*求最小值*/

min?=?matrix[i][j];

}

}

printf?("主對角線之和:\t%d\n",?mainDiagonalSum);

printf?("次對角線之和:\t%d\n",?diagonalSum);

printf?("最大值:\t%d\n",?max);

printf?("最小值:\t%d\n",?min);

putchar?('\n');

return?1;?

}

int?main?(void)?{

int?matrix[LEN][LEN],?row,?col;

row?=?col?=?5;?/*定義矩陣行列數*/

inputMatrix?(matrix,?row,?col);?/*錄入矩陣內容*/?

printMatrix?(matrix,?row,?col);?/*打印矩陣內容*/

calcMatrix?(matrix,?row,?col);?/*計算處理矩陣內容*/

return?0;

}

運行結果

為了簡便,以下運行示意將矩陣設為3行3列,上方源代碼為題主要求的5行5列

  • 上一篇:請問這些城市機械專業就業在哪?
  • 下一篇:股市中的機構專用是什麽意思?
  • copyright 2024編程學習大全網