當前位置:首頁 » 編程語言 » c語言將n行n列的矩陣轉置
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言將n行n列的矩陣轉置

發布時間: 2022-07-29 13:55:55

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[][] 回代即可