㈠ c语言输入N*N的矩阵,输出它的转置矩阵.矩阵的转置操作,即把矩阵的行元素变为列元素,
#include<stdio.h>
#include<math.h>
void main()
{ int a[100][100];
int n,i,j,t;
printf("--------");
scanf("%d",&n);
printf("--------");
for(i=0;i<n;i++)
for(j=0;j<n;j++)
{
scanf("%d",&a[i][j]);
}
for(i=0;i<n;i++){ for(j=0;j<n;j++)
{
printf("%4d",a[i][j]);
}
printf("\n");
}
for(i=0;i<n;i++)
for(j=0;j<n;j++)
{
t=a[i][j];
a[i][j]=a[j][i];
a[j][i]=t;
}
for(i=0;i<n;i++)
{ for(j=0;j<n;j++)
{
printf("%4d",a[i][j]);
}
printf("\n");
}
}
㈡ C语言实验题——矩阵转置 描述 输入N*N的矩
这是输出结果,需要的话,给我个邮箱
/*
在vc++6.0中的输出结果:
------------------------
创建矩阵A:请输入矩阵的行数,列数,非零元素数:3,3,3
请按行序顺序输入第1个非零元素所在的行(1-3),列(1-3),元素值:1,2,10
请按行序顺序输入第2个非零元素所在的行(1-3),列(1-3),元素值:2,3,50
请按行序顺序输入第3个非零元素所在的行(1-3),列(1-3),元素值:3,1,88
3行3列3个非零元素
行 列 元素值
1 2 10
2 3 50
3 1 88
按矩阵形式输出所创建矩阵:
0 10 0
0 0 50
88 0 0
将该矩阵转置后重新输出:
0 0 88
10 0 0
0 50 0
Press any key to continue
------------------------------
*/
㈢ c语言编程m行n列的矩阵转置
#include<stdio.h>
main()
{
inta[4][4],b[4][4];
inti,j,m,n,k;
printf("请为数组赋值:
");
for(i=0;i<4;i++)
for(j=0;j<4;j++)
scanf("%d",&a[i][j]);
/*输出a*/
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
printf("%3d",a[i][j]);
printf("
");
}
/*把a转置以后保存到b*/
for(i=0;i<4;i++)
for(j=0;j<4;j++)
b[j][i]=a[i][j];
printf("
");
/*输出b*/
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
printf("%3d",b[i][j]);
printf("
");
}
}
㈣ c语言编程题,编写一个函数,实现n阶方阵的转置(即行列互换)急急急!!!感谢
#include <stdio.h>
#include <stdlib.h>
int main()
{ int a[3][3]={1,2,3,4,5,6,7,8,9};
int j,i,temp;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
for(i=1;i<2;i++)
for(j=0;j<=i;j++)
{
temp=a[i][j];
a[i][j]=a[j][i];
a[j][i]=temp;
}
for(i=0;i<3;i++)
for(j=0;j<3;j++)
{
printf("%d ",a[i][j]);
if(j==2)printf(" ");
}
return 0;
}
(4)c语言将n行n列的矩阵转置扩展阅读:
需要说明的是:
1、一个C语言源程序可以由一个或多个源文件组成。
2、每个源文件可由一个或多个函数组成。
3、一个源程序不论由多少个文件组成,都有一个且只能有一个main函数,即主函数。是整个程序的入口。
4、源程序中可以有预处理命令(包括include 命令,ifdef、ifndef命令、define命令),预处理命令通常应放在源文件或源程序的最前面。
5、每一个说明,每一个语句都必须以分号结尾。但预处理命令,函数头和花括号“}”之后不能加分号。结构体、联合体、枚举型的声明的“}”后要加“ ;”。
6、标识符,关键字之间必须至少加一个空格以示间隔。若已有明显的间隔符,也可不再加空格来间隔。
网络-c语言
㈤ c语言 n*n矩阵转置
我改了,可以运行
#include
void
main()
{void
change(int
N);
int
n;
scanf("%d",&n);
printf("\n");
change(n);
}
void
change(int
N)
{int
i,j;
int
a[N][N],b[N][N],k=1;
a[0][0]=1;
for(i=0;i
追问:
int
a[N][N],b[N][N],k=1;
a[0][0]=1;
for(i=0;i
追答:
不好意思,原来我看错了
只要把<=都改为<
号就行了,因为数组从0开始
评论
0
0
0
加载更多
㈥ 下面程序的功能是将n行n列的矩阵转置。请填空。求C程大神
矩阵转置就是将矩阵的行跟列交换,所以空处应该填j<N 和 a[i][j]=a[j][i]
程序的问题的话就是你要吧所有的for循环里面的iN、jN都是改成i<N或J<N这种
㈦ C语言编程:N*N方阵的转置
#include<stdio.h>
int main()
{
int n,t,a[100][100],i,j; scanf("%d",&n);
for(i=0;i<n;i++)
for(j=0;j<n;j++) scanf("%d",&a[i][j]);
printf("转换后: ");
for(i=0;i<n;i++)
for(j=0;j<n;j++)
{
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
if(j==0)
printf("%d",a[j][i]); else printf(" %d",a[j][i]);
}
printf(" ");
}}}
(7)c语言将n行n列的矩阵转置扩展阅读:
C语言书写规则:
1、一个说明或一个语句占一行。
2、用{} 括起来的部分,通常表示了程序的某一层次结构。{}一般与该结构语句的第一个字母对齐,并单独占一行。
3、低一层次的语句或说明可比高一层次的语句或说明缩进若干格后书写。以便看起来更加清晰,增加程序的可读性。在编程时应力求遵循这些规则,以养成良好的编程风格。
网络-c语言
㈧ C语言(指针): 编写一个函数实现n*n矩阵转置。在主函数中用scanf输入矩阵元素;将数组名作为函数实参。
好吧,简单说下:void fun( float a[][])
{ int i,j,float t;
for(i=0;a[i][0];i++)
for(j=i;a[i][j];j++)
{t=a[i][j];
a[i][j]=a[j][i];
a[j][i]=t;
}
}
这个函数的局限只限于方阵。也只能对上三角元素操作,是因为a[][]数组本身空间的限制,如果采用指针的话:
令p=a;其他注意是对内容**p之类操作即可。不过如果采用引入矩阵b来操作可以完美解决上述问题:
void fun( float a[][],float b[][])
{ int i,j;
for(i=0;a[i][0];i++)
for(j=0;a[i][j];j++)
{b[j][i]=a[i][j];
}
}
最后如果非要用a[][]输出的话,可以用b[][] 回代即可