#include <stdio.h>
#include <stdlib.h>
void change(int **mat,int r,int c)
{
int i,j,t;
//下面两层循环完成矩阵的转置。具体来说就是将a[i][j]和a[j][i]的内容交换。
for(i=0;i<r;i++)
for(j=i+1;j<c;j++)
{
t=mat[i][j];
mat[i][j]=mat[j][i];
mat[j][i]=t;
}
//转置后矩阵各元素值加1.
for(i=0;i<r;i++)
for(j=0;j<c;j++)
mat[i][j]+=1;
}
void main()
{
int **mat;
int r,c,i,j;
printf("输入矩阵的行列值:\n");
scanf("%d %d",&r,&c);
//根据输入的行列值为矩阵分配空间。
mat = (int **)malloc(r*sizeof(int *));
for(i=0;i<r;i++)
mat[i]=(int*)malloc(c*sizeof(int));
printf("输入矩阵的各元素值:\n");
for(i=0;i<r;i++)
for(j=0;j<c;j++)
scanf("%d",&mat[i][j]);
change(mat,r,c);
for(i=0;i<r;i++)
{
for(j=0;j<c;j++)
printf("%d\t",mat[i][j]);
printf("\n");
}
}
温馨提示:答案为网友推荐,仅供参考