c 编写程序,将一个NxN的方阵A转置后输出。要求使用二维数组的行指针实现
时间: 2024-02-28 11:56:50 浏览: 80
下面是一个将NxN的方阵A转置后输出的C程序,使用二维数组的行指针实现:
```c
#include <stdio.h>
#define N 3 // 定义方阵的大小为3
void transpose(int (*a)[N], int n); // 声明转置函数
int main()
{
int a[N][N] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}; // 定义一个3x3的方阵
printf("原始矩阵:\n");
for(int i = 0; i < N; i++) {
for(int j = 0; j < N; j++) {
printf("%d\t", a[i][j]);
}
printf("\n");
}
transpose(a, N); // 调用转置函数
printf("转置后的矩阵:\n");
for(int i = 0; i < N; i++) {
for(int j = 0; j < N; j++) {
printf("%d\t", a[i][j]);
}
printf("\n");
}
return 0;
}
void transpose(int (*a)[N], int n)
{
for(int i = 0; i < n; i++) {
for(int j = i + 1; j < n; j++) {
int temp = a[i][j];
a[i][j] = a[j][i];
a[j][i] = temp;
}
}
}
```
在上面的程序中,我们定义了一个3x3的方阵a,并将其输出到屏幕上。然后我们调用了一个名为transpose的函数,该函数使用行指针将方阵a进行转置。最后我们再次输出转置后的矩阵。
阅读全文