二位数组(4×4)转置
自定义函数,是给定的一个二位数组(4×4)转置,即行列互换不知道自定义的数组怎么表示,下边瞎打的运行不了
#include<stdio.h>
#include<stdlib.h>
int main()
{
int i,j;
int a;
int arr(int a);
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
arr(a);
printf("%d\n",a);
}
}
return 0;
}
int arr(int a)
{
int x,y;
for(x=0;x<4;x++)
{
for(y=0;y<4;y++)
{
a=a;
}
}
return(a);
} #include <stdio.h>
void transpose(int a) {
int i, j, temp;
for (i = 0; i < 4; i++) {
for (j = i + 1; j < 4; j++) {
temp = a[ i];
a[ i] = a[ i];
a[ i] = temp;
}
}
}
int main() {
int i, j;
int a = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}, {13, 14, 15, 16}};
transpose(a);
for (i = 0; i < 4; i++) {
for (j = 0; j < 4; j++) {
printf("%d ", a[ i]);
}
printf("\n");
}
return 0;
}
这段代码实现了一个简单的二维数组(4×4)转置函数。在主函数中,我们定义了一个4×4的二维数组a,并初始化了它。然后调用transpose函数来对数组a进行转置操作。在transpose函数中,我们使用两层循环遍历数组a,并通过一个临时变量temp来实现行列互换。最后,我们在主函数中打印出转置后的数组a。
页:
[1]