c语言转置代码函数调用 c语言转置数组

c语言用convert函数求矩阵的转置参考代码如下:
#includestdio.h
int A[10][10]={0};
void convert(int a[][10], int *m, int *n)
{
int i,j,t;
for(i=0;i*m;i)
for(j=i;j*n;j){
t=a[i][j];
a[i][j]=a[j][i];
a[j][i]=t;
}
t=*m;
*m=*n;
*n=t;
}
int main()
{
int i,j,m,n;
scanf("%d%d",m,n);
if(m10||n10)
return 0;
for(i=0;im;i)
for(j=0;jn;j)
scanf("%d",A[i][j]);
convert(A,m,n);
for(i=0;im;i){
for(j=0;jn;j)
printf("%d ",A[i][j]);
printf("\n");
}
return 0;
}
C语言-矩阵转置①目标
将一个二维数组表示的矩阵转置

②命令行
#includestdio.h
#include stdlib.h
~
③定义函数
void fun(int array[3][3])
【c语言转置代码函数调用 c语言转置数组】{int i,j,t;
for(i=0;i<3;i)
for(j=i 1;j<3;j)
/*注意:只遍历了矩阵的右上半部分 。
如果for(j=0;j<3;j,表示遍历矩阵全部元素,右上与左下交换,左下又与右上交换,导致重复转置,矩阵没有变化 。*/
{t=array[i][j];
array[i][j]=array[j][i];
array[j][i]=t;}
/*交换语句,矩阵右上半部分,与对应左下半部分,元素交换,完成转置*/
}
~
④主函数(调用)
void main()
{int i,j;
int array[3][3]={{1,2,3},{4,5,6},{7,8,9}};
for(i=0;i<3;i)
{for(j=0;j<3;j)
/*输出原矩阵 , 遍历全部*/
printf("}",array[i][j]);
printf("\n");}
fun(array);
/*利用fun函数完成转置*/
printf("converted array:\n");
for(i=0;i<3;i)
{for(j=0;j<3;j)
printf("}",array[i][j]);
printf("\n");}
}
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的数组:\n");
for(i=0;i3;i)
{
scanf("%d%d%d",a[i][0],a[i][1],a[i][2]);
}
move(p);
printf("转置后的结果:\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中,会把用来#include的文件的扩展名叫 .h , 称其为头文件 。
#include文件的目的就是把多个编译单元(也就是c或者cpp文件)公用的内容,单独放在一个文件里减少整体代码尺寸;或者提供跨工程公共代码 。在现行的c版本中,应用这个头文件应是#includestdio.h
stdio 就是指 “standard inputoutput"(标准输入输出)所以,源代码中如用到标准输入输出函数时,就要包含这个头文件!
例如c语言中的 printf("%d",i); scanf("%d",i);等函数 。
引用方法
#include stdio.h
(注:在TC2.0中,允许不引用此头文件而直接调用其中的函数 , 但这种做法是不标准的 。也不建议这样做 。以避免出现在其他IDE中无法编译或执行的问题 。)
标准函数
int getchar()//从标准输入设备写入一个字符
int putchar()//向标准输出设备读出一个字符
int scanf(char*format[,argument…])//从标准输入设备读入格式化后的数据
int printf(char*format[,argument…])//向标准输出设备输出格式化字符串
char* gets(char*string)//从标准输入设备读入一个字符串
int puts(char*string)//向标准输出设备输出一个字符串
int sprintf(char*string,char*format[,…])//把格式化的数据写入某个字符串缓冲区 。
转置函数 c语言在转置函数中,第二个循环的约束条件应该是for(n=m;n5;n){.....} 。因为转置只是把上三角和下三角中的值调换,只用执行上三角交换就好了,如果你把上线都交换了,那就等于没有交换 。这属于逻辑错误 。
正确程序如下:
void transpose(int a[5][5] )
{
int temp = 0,m,n;
for(m = 0;m5;m)
{
for(n = m;n5;n)
{
temp = a[m][n];
a[m][n] = a[n][m];
a[n][m] = temp;
}
}
}
关于c语言转置代码函数调用和c语言转置数组的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读