huafeng 发表于 2023-11-14 09:10:25

二位数组(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);
}

isdkz 发表于 2023-11-14 09:10:35

#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]
查看完整版本: 二位数组(4×4)转置