當前位置:編程學習大全網 - 編程軟體 - 用數組編程,輸入壹個3×3矩陣並顯示,求其對角線元素之和並輸出,之後將每行元素按從小到大排序並輸出新數組

用數組編程,輸入壹個3×3矩陣並顯示,求其對角線元素之和並輸出,之後將每行元素按從小到大排序並輸出新數組

可能不是最好的,但能夠達到要求,編譯運行通過

#include <stdio.h>

int main(void)

{

int arr[3][3];

int i;

int j;

while(1)

{

puts("enter");

//輸入(每個數值以空格隔開, 呵呵小小提示壹下,剛開始我就沒隔開,所有總是不對)

for(i=0; i<3; i++)

for(j=0; j<3; j++)

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

//顯示數組

for(i=0; i<3; i++)

{

for(j=0; j<3; j++)

printf("%4d",arr[i][j]);

puts("\n");

}

//求對角線上元素的和

int sum = 0;

for(i=0; i<3; i++)

for(j=0; j<3; j++)

{

if(i == j)

sum += arr[i][j];

}

//每行按遞減順序輸出

int temp;

for(i=0; i<3; i++)

{

j = 0;//註意j的重新初始化!

if(arr[i][j] > arr[i][j+1])

{

temp = arr[i][j];

arr[i][j] = arr[i][j+1];

arr[i][j+1] = temp;

}

if(arr[i][j] > arr[i][j+2])

{

temp = arr[i][j];

arr[i][j] = arr[i][j+2];

arr[i][j+2] = temp;

}

if(arr[i][j+1] > arr[i][j+2])

{

temp = arr[i][j+1];

arr[i][j+1] = arr[i][j+2];

arr[i][j+2] = temp;

}

}

//再次輸出數組

puts("每行元素按遞減輸出的數組如下:");

for(i=0; i<3; i++)

{

for(j=0; j<3; j++)

printf("%4d",arr[i][j]);

puts("\n");

}

}

return 0;

}

  • 上一篇:c語言如何求長方形周長與面積
  • 下一篇:羅盤時鐘動態壁紙(為妳帶來流動的時間感受)
  • copyright 2024編程學習大全網