C语言:编写函数,用指针型形参访问数组,把给定数组转置,并给出运行截图,咋做?

如题所述

由于题目没有说明数组是方阵,所以本答案按一般二维数组处理。


代码文本:

#include "stdio.h"

#define N 3

#define M 5

void myf(int a[][M],int b[][N],int i,int j){//本函数将数组a转置为b

int t;

for(t=j-1,i--;i>=0;i--)

for(j=t;j>=0;b[j][i]=a[i][j--]);

}

int main(int argc,char *argv[]){

int a[N][M],b[M][N],i,j,t;

puts("Transpose before:");

for(t=i=0;i<N;i++){//给数组a赋值并输出

for(j=0;j<M;printf("%3d",a[i][j++]=++t));

putchar('\n');

}

myf(a,b,N,M);//调用转置函数

puts("Transpose later:");

for(i=0;i<M;i++){//输出转置后的数组

for(j=0;j<N;printf("%3d",b[i][j++]));

putchar('\n');

}

return 0;

}

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答