逆置一个二维数组(C语言)

邮差的信 提交于 2020-02-28 03:40:16

源码如下:

#include <stdio.h>
#include <stdlib.h>

#if 0
    二维数组要注意研究它的下标!
#endif

int main()
{
    int arr[4][4];
    for(int i=0;i<4;i++)
    {
        for(int j=0;j<4;j++)
        {
            arr[i][j] = rand()%100;
            printf("%3d",arr[i][j]);
        }
        putchar(10);
    }

    printf("逆置后:\n");
    printf("即绕主对角线旋转180度!\n");
//第一种方法
    for(int i=0;i<4;i++)
    {
        for(int j=0;j<i+1;j++)
        {
            int t;
            t = arr[i][j];
            arr[i][j] = arr[j][i];
            arr[j][i] = t;
        }
    }
    for(int i=0;i<4;i++)
    {
        for(int j=0;j<4;j++)
        {
            printf("%3d",arr[i][j]);
        }
        putchar(10);
    }

//第二种方法
    printf("方法二:\n");
    for(int i=0;i<4;i++)
    {
        for(int j=0;j<4;j++)
        {
            if(i>j)
            {
                int t;
                t = arr[i][j];
                arr[i][j] = arr[j][i];
                arr[j][i] = t;
            }
        }
    }
    for(int i=0;i<4;i++)
    {
        for(int j=0;j<4;j++)
        {
            printf("%3d",arr[i][j]);
        }
        putchar(10);
    }

    return 0;
}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!