
C语言 写一个函数,使给定的3x3的二维整型数组转置,即行列互换。
1个回答
展开全部
#include <stdio.h>
#define N 3
void zhuanzhi(int nums[][],int n);
int main()
{
int nums[N][N]={0};
int i,j,k=1;
printf("转置前效果:\n");
for(i=0;i<N;i++)
{
printf("\n");
for(j=0;j<N;j++)
{
nums[i][j]=k++;
printf("%2d ",nums[i][j]);}
}
zhuanzhi(nums,N);
printf("\n\n转置后效果:\n");
for(i=0;i<N;i++)
{
printf("\n");
for(j=0;j<N;j++)
printf("%2d ",nums[i][j]);
}
system("pause");
}
void zhuanzhi(int nums[][N],int n)
{
int i,j,tmp;
for(i=0;i<n;i++)
for(j=i;j<n;j++)
if(i!=j)
{
tmp=nums[i][j];
nums[i][j]=nums[j][i];
nums[j][i]=tmp;
}
}
#define N 3
void zhuanzhi(int nums[][],int n);
int main()
{
int nums[N][N]={0};
int i,j,k=1;
printf("转置前效果:\n");
for(i=0;i<N;i++)
{
printf("\n");
for(j=0;j<N;j++)
{
nums[i][j]=k++;
printf("%2d ",nums[i][j]);}
}
zhuanzhi(nums,N);
printf("\n\n转置后效果:\n");
for(i=0;i<N;i++)
{
printf("\n");
for(j=0;j<N;j++)
printf("%2d ",nums[i][j]);
}
system("pause");
}
void zhuanzhi(int nums[][N],int n)
{
int i,j,tmp;
for(i=0;i<n;i++)
for(j=i;j<n;j++)
if(i!=j)
{
tmp=nums[i][j];
nums[i][j]=nums[j][i];
nums[j][i]=tmp;
}
}
追问
#include少了
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询