天天看點

c語言程式設計将圖檔上下翻轉,C語言實作矩陣翻轉(上下翻轉、左右翻轉)

C語言實作矩陣翻轉 上下翻轉與左右翻轉

執行個體代碼:

#include

void matrix (int m, int n, int t)

{

int arr[m][n];

int i, j, k;

for (i = 0; i < m; i++){

for (j = 0; j < n; j++){

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

}

}

if (t == 0){//左右翻轉

for (i = 0; i < m; i++){

for (j = n-1; j >= 0; j--){

if ( j == 0 ) {

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

}

else {

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

}

}

printf("\n");

}

}

else if (t == 1){//上下翻轉

for (i = m-1; i >= 0; i--){

for (j = 0; j < n; j++){

if ( j == n - 1 ) {

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

}

else {

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

}

}

printf("\n");

}

}

}

int main()

{

int m, n, t;

scanf("%d %d %d", &m, &n, &t);

matrix (m, n, t);

return 0;

}

動态配置設定記憶體

void matrix (int m, int n, int t)

{

int i, j;

int **arr=(int**)malloc(m*sizeof(int*));

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

{

arr[i] = (int*)malloc(n * sizeof(int));

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

{

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

}

}

if (t == 0){//左右翻轉

for (i = 0; i < m; i++){

for (j = n-1; j >= 0; j--){

if ( j == 0 ) {

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

}

else {

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

}

}

printf("\n");

}

}

else if (t == 1){//上下翻轉

for (i = m-1; i >= 0; i--){

for (j = 0; j < n; j++){

if ( j == n - 1 ) {

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

}

else {

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

}

}

printf("\n");

}

}

}

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支援!