C语言实现二维数据图像的水平翻转

计算机中使用二维数据表示一幅图像。假设有一幅图像大小为5*5,请编程实现这幅图像的水平翻转。

我觉得你应该知道二维数组翻转,例如:
1 2 3 4 5 5 4 3 2 1
1 2 3 4 5 5 4 3 2 1

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

 for (i = 0; i < 5; i++)
{
for (j = 0; j < 5/2; j++)
{
int t = arr[i, j];
arr[i, j] = arr[i, 5 - j -1];
arr[i, 5 - j - 1] = t;
}
}

#include

#define IMAGEX 5
#define IMAGEY 6

char buf[IMAGEX][IMAGEY];

char image[IMAGEX][IMAGEY] = {
{"abcde\0"},
{"abcde\0"},
{"abcde\0"},
{"abcde\0"},
{"abcde\0"}
};
int main(int argc, char const *argv[])
{
int i,j;
for (i=0; i<IMAGEX; i++)
{
puts(image[i]);
}
for (i=0; i<IMAGEX; i++)
for (j=0; j<IMAGEY; j++)
buf[i][j] = image[IMAGEX-1-i][IMAGEY-2-j];
buf[i][j] = '\0';

for (i=0; i<IMAGEX; i++)
{
    puts(buf[i]);
}
return 0;

}


#include <stdio.h>

#define IMAGEX 5
#define IMAGEY 6

char buf[IMAGEX][IMAGEY];

char image[IMAGEX][IMAGEY] = {
        {"abcde\0"},
        {"abcde\0"},
        {"abcde\0"},
        {"abcde\0"},
        {"abcde\0"}
};
int main(int argc, char const *argv[])
{
    int i,j;
    for (i=0; i<IMAGEX; i++)
    {
        puts(image[i]);
    }
    for (i=0; i<IMAGEX; i++)
        for (j=0; j<IMAGEY; j++)
            buf[i][j] = image[IMAGEX-1-i][IMAGEY-2-j];
        buf[i][j] = '\0';

    for (i=0; i<IMAGEX; i++)
    {
        puts(buf[i]);
    }
    return 0;
}