使用嵌套循环在C中翻转数组元素数据

问题描述:

如何使用嵌套循环翻转数组的元素,如下所示?使用嵌套循环在C中翻转数组元素数据

-1 -2 -3    3 2 1 
4 5 6 --------> 4 5 6 
1 2 3    -3 -2 -1 

非常感谢^ _^

+3

欢迎堆栈溢出!请说明迄今为止的研究/调试工作。请先阅读[问]页面。 –

+5

这不是“请做我的作业”服务。作业的本质是你学到了一些东西。所以我建议你开始学习。 –

+1

我投票结束这个问题作为题外话,因为它显然是写我的代码请求,而不是一个问题。请先阅读[问]页面。 :) –

如果我理解正确的,你需要这样的

#include <stdio.h> 

#define N 3 

int main(void) 
{ 
    int a[N][N] = 
    { 
     { -1, -2, -3 }, 
     { 4, 5, 6 }, 
     { 1, 2, 3 } 
    };  

    for (size_t i = 0; i < N; i++) 
    { 
     for (size_t j = 0; j < N; j++) printf("%2d ", a[i][j]); 
     putchar('\n'); 
    } 

    putchar('\n'); 

    for (size_t i = 0; i < N/2; i++) 
    { 
     for (size_t j = 0; j < N; j++) 
     { 
      int tmp = a[i][j]; 
      a[i][j] = a[N - 1 - i][N - 1 - j]; 
      a[N - 1 - i][N - 1 - j] = tmp; 
     } 
    } 

    for (size_t i = 0; i < N; i++) 
    { 
     for (size_t j = 0; j < N; j++) printf("%2d ", a[i][j]); 
     putchar('\n'); 
    } 

    putchar('\n'); 

    return 0; 
} 

程序输出是

-1 -2 -3 
4 5 6 
1 2 3 

3 2 1 
4 5 6 
-3 -2 -1 
+0

那正是我要找的:) 谢谢^ _ ^ –