用函数矩阵转置c语言 3*3矩阵转置 c语言函数调用( 二 )


prtList(nList,row,clo);
printf("转置后的矩阵为:\n");
nListSave=zz(nList,row,clo);
free(nList);
nList=nListSave;
prtList(nList,clo,row);
return 0;
}
int **zz(int **nList,int row,int clo)
{
int *nSave=NULL,**listSave=NULL,**listp=nList,*p=NULL,i,j;
nSave=(int *)malloc(sizeof(int)*row*clo);
listSave=(int **)malloc(sizeof(int*)*clo);//倒置后的矩阵
p=nSave;
for(j=0;jclo;j++)
【用函数矩阵转置c语言 3*3矩阵转置 c语言函数调用】{
for(i=0;irow;i++)
{
*p++=*listp[i];
listp[i]=listp[i]+1;
}
}
for(i=0;iclo;i++)
listSave[i]=nSave[i*row];
for(i=0;irow;i++)
free(nList[i]);//释放原矩阵行空间
returnlistSave;
}
void prtList(int **nList,int row,int clo)
{
int i,j;
for(i=0;irow;i++)
{
for(j=0;jclo;j++)
printf("%d ",nList[i][j]);
printf("\n");
}
}
void setNum(int **nList,int n)
{
int *p=nList[0];
printf("填写矩阵中%d个数值:\n",n);
while(n--0)
scanf("%d",p++);
}
int **getList(int row,int clo)
{
int *nums,**nList,i;
nums=(int *)malloc(sizeof(int)*row*clo);
nList=(int **)malloc(sizeof(int*)*row);
for(i=0;irow;i++)
nList[i]=nums[i*clo];
return nList;
}
各位大大,"用一个函数将一个3X3的整型矩阵转置"是什么意思?用C语言怎么做?矩阵转置就是行变为列,列变为行 。具体示例如下:
#include stdio.h
void fun(int a[3][3])
{
int i,j,t;
for(i=0;i3;i++)
for(j=0;ji;j++)
{t=a[i][j];a[i][j]=a[j][i];a[j][i]=t;}
}
//以上为用于转置矩阵的函数,就是题目要求的函数,以下为主函数
void main()
{
int i,j,a[3][3];
for(i=0;i3;i++)
for(j=0;j3;j++)
scanf("%d",a[i][j]);
fun(a);
for(i=0;i3;i++)
{
printf("\n");
for(j=0;j3;j++)
printf("%-4d",a[i][j]);
}
}
运行示例:
c语言:写一个函数,将输入的3*3的整形矩阵进行转置 用函数#includestdio.h
int main()
{
void move(int *s);
int a[3][3];int i=0;
int *p=a[0][0];
printf("请输入一个3*3用函数矩阵转置c语言的数组:\n");
for(i=0;i3;i++)
{
scanf("%d%d%d",a[i][0],a[i][1],a[i][2]);
}
move(p);
printf("转置后用函数矩阵转置c语言的结果:\n");
for(i=0;i3;i++)
{
printf("%d %d %d\n",a[i][0],a[i][1],a[i][2]);
}
return 0;
}
void move(int *s)
{
int i,j,t;
for(i=0;i3;i++)
{
for(j=i;j3;j++)
{
t=*(s+3*i+j);
*(s+3*i+j)=*(s+3*j+i);
*(s+3*j+i)=t;
}
}
}
扩展资料:
在C语言或C++中用函数矩阵转置c语言,会把用来#include用函数矩阵转置c语言的文件的扩展名叫 .h,称其为头文件 。
#include文件的目的就是把多个编译单元(也就是c或者cpp文件)公用的内容,单独放在一个文件里减少整体代码尺寸用函数矩阵转置c语言;或者提供跨工程公共代码 。在现行的c++版本中,应用这个头文件应是#includestdio.h
stdio 就是指 “standard inputoutput"(标准输入输出)所以,源代码中如用到标准输入输出函数时,就要包含这个头文件!
例如c语言中的 printf("%d",i); scanf("%d",i);等函数 。
引用方法
#include stdio.h
(注:在TC2.0中 , 允许不引用此头文件而直接调用其中的函数,但这种做法是不标准的 。也不建议这样做 。以避免出现在其他IDE中无法编译或执行的问题 。)
标准函数
int getchar()//从标准输入设备写入一个字符
int putchar()//向标准输出设备读出一个字符

推荐阅读