作者:PANJIANSHUANG_406 | 来源:互联网 | 2024-11-16 20:37
/*
* 编写一个函数,用于交换二维数组a[4][5]中的第0行与第3行,以及第1行与第2行的值。
* 并在main函数中调用该函数,打印交换前后的数组。
*/
#include
// 交换两个整数的值
void swap(int *a, int *b)
{
int temp = *a;
*a = *b;
*b = temp;
}
// 交换二维数组指定行的值
void array_swap_rows(int (*a)[5])
{
// 交换第0行与第3行
for (int i = 0; i <5; i++) {
swap(&a[0][i], &a[3][i]);
}
// 交换第1行与第2行
for (int i = 0; i <5; i++) {
swap(&a[1][i], &a[2][i]);
}
}
// 打印二维数组
void print_array(int (*a)[5])
{
for (int i = 0; i <4; i++) {
for (int j = 0; j <5; j++) {
printf("%5d ", a[i][j]);
}
printf("\n");
}
}
int main()
{
int a[4][5] = {
{ 1, 2, 3, 4, 5},
{ 6, 7, 8, 9, 10},
{11, 12, 13, 14, 15},
{16, 17, 18, 19, 20}
};
printf("原始数组:\n");
print_array(a);
array_swap_rows(a);
printf("交换后的数组:\n");
print_array(a);
return 0;
}