c語言行列轉置
㈠ 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(" ");
}}}
(1)c語言行列轉置擴展閱讀:
C語言書寫規則:
1、一個說明或一個語句佔一行。
2、用{} 括起來的部分,通常表示了程序的某一層次結構。{}一般與該結構語句的第一個字母對齊,並單獨佔一行。
3、低一層次的語句或說明可比高一層次的語句或說明縮進若干格後書寫。以便看起來更加清晰,增加程序的可讀性。在編程時應力求遵循這些規則,以養成良好的編程風格。
網路-c語言
㈡ C語言糾錯,編寫程序,實現矩陣(3行列)的轉置(即行列互換)。
s定義的是long,所以返回也應該是long型,jc函數中for(i=n;i>0;i--)
㈢ C語言,使一個3*3的數組轉置,即行列互換
#include<stdio.h>
intmain()
{
inta[3][3],b,c,d;
for(b=0;b<3;b++)
for(c=0;c<3;c++)
scanf("%d",&a[b][c]);
printf("
");
for(b=0;b<3;b++)
for(c=b+1;c<3;c++)
{
d=a[b][c];
a[b][c]=a[c][b];
a[c][b]=d;
}
for(b=0;b<3;b++)
{for(c=0;c<3;c++)
printf("%d",a[b][c]);
printf("
");
}
return0;
}
㈣ 您好~怎麼樣用C語言編寫一個實現矩陣((3行3列)的轉置,即行列互換
#include <stdio.h>
int fun(int array[3][3])
{
int i,j,temp;
for(i=0;i<3;i++)
{
for(j=i;j<3;j++)
{
temp=array[i][j];
array[i][j]=array[j][i];
array[j][i]=temp;
}
}
return 0;
}
int main()
{
int i,j;
int array[3][3]={{100,200,300}, {400,500,600}, {700,800,900}};
for (i=0;i<3;i++)
{ for (j=0;j<3;j++)
printf("%7d",array[i][j]);
printf("\n");
}
fun(array);
printf("Converted array:\n");
for (i=0;i<3;i++)
{
for (j=0;j<3;j++)
printf("%7d",array[j][i]);
printf("\n");
}
return 0;
}
㈤ 實現3行3列矩陣的轉置,即行列互換。(C語言)
scanf("%d",a[i][j]);
scanf("%d",(*(a+i)+j));
這兩個只需要一個,第二個是正確的,第一個錯誤,第一個正確形式為scanf("%d",&a[i][j]);
兩個去掉一個。
㈥ 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;
}
(6)c語言行列轉置擴展閱讀:
需要說明的是:
1、一個C語言源程序可以由一個或多個源文件組成。
2、每個源文件可由一個或多個函數組成。
3、一個源程序不論由多少個文件組成,都有一個且只能有一個main函數,即主函數。是整個程序的入口。
4、源程序中可以有預處理命令(包括include 命令,ifdef、ifndef命令、define命令),預處理命令通常應放在源文件或源程序的最前面。
5、每一個說明,每一個語句都必須以分號結尾。但預處理命令,函數頭和花括弧「}」之後不能加分號。結構體、聯合體、枚舉型的聲明的「}」後要加「 ;」。
6、標識符,關鍵字之間必須至少加一個空格以示間隔。若已有明顯的間隔符,也可不再加空格來間隔。
網路-c語言
㈦ C語言行列按位互換
#include<stdio.h>
void main()
{
int a[2][3]={{1,2,3},{4,5,6}};
int b[3][2],i,j;
printf("array a:\n");
for(i=0;i<=1;i++)
{
for(j=0;j<=2;j++)
{
printf("%d",a[i][j]);
b[j][i]=a[i][j];
}
printf("\n");
}
printf("array b:\n");//括弧內你缺少右邊的引號
for(i=0;i<=2;i++)//注意i的取值
{
for(j=0;j<=1;j++)//注意j的取值,i,j的值你剛好弄反了
{
printf("%d",b[i][j]);
}
printf("\n");//你缺少這行代碼,不能有效的顯示
}
}
我已經調試過了,能正確運行,如果不行的話,提出你具體的問題!
㈧ 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語言數組行列互換問題
第一位兄弟演算法有問題假設a(1)(2)=5
a(2)(1)等於3,第一次運算a(1)(2)=a(2)(1)=3,但i j變成2 1時,a(2)(1)=a(1)(2)=3
然後你懂的
㈩ c語言行列轉換
C語言中不接受數組作為函數的參數和返回值,所以你傳遞數組的做法是錯誤的。
但是可以傳遞數組的指針,例如:
voidarray(inta[][3]){...}
聲明或定義時,如下語句的效果等同於上面:
voidarray(inta[3][3]){...}
但是在實際調用的時候,你必須傳遞指針:
array(a);
你代碼中傳遞的參數a[3][3]實際類型是int(而且已經越界),