大家好我是一个大一刚学完c语言的学生~编程遇到问题了!谢谢帮助!看看为什么M>N时实现不了转置~而M<=N时却可以~~程序如下!
#include <stdio.h>
#define M 5
#define N 6
int array[M][N];
void main()
{
void change(int array[M][N]);
int i,j;
printf("please input array:\n");
for(i=0;i<M;i++)
for(j=0;j<N;j++)
scanf("%d",&array[i][j]);
printf("\nThe array is:\n");
for(i=0;i<M;i++)
{
for(j=0;j<N;j++)
printf("%5d",array[i][j]);
printf("\n");
}
change(array);
printf("The changed array is:\n");
for(i=0;i<N;i++)
{
for(j=0;j<M;j++)
printf("%5d",array[i][j]);
printf("\n");
}
}
void change(int array[M][N])
{
int i,j,t;
for(i=0;i<M;i++)
for(j=i+1;j<N;j++)
{
t=array[i][j];
array[i][j]=array[j][i];
array[j][i]=t;
}
}