C语言编程:N*N方阵的转置

Python017

C语言编程:N*N方阵的转置,第1张

#include<stdio.h>

int main()

{

int n,t,a[100][100],i,jscanf("%d",&n)

for(i=0i<ni++)

for(j=0j<nj++) scanf("%d",&a[i][j])

printf("转换后:\n")

for(i=0i<ni++)

for(j=0j<nj++)

{

for(i=0i<ni++)

{

for(j=0j<nj++)

{

if(j==0)

printf("%d",a[j][i])else printf(" %d",a[j][i])

}

printf("\n")

}}}

 扩展资料:

C语言书写规则:

1、一个说明或一个语句占一行。

2、用{} 括起来的部分,通常表示了程序的某一层次结构。{}一般与该结构语句的第一个字母对齐,并单独占一行。

3、低一层次的语句或说明可比高一层次的语句或说明缩进若干格后书写。以便看起来更加清晰,增加程序的可读性。在编程时应力求遵循这些规则,以养成良好的编程风格。

参考资料:

百度百科-c语言

题目要求有一个问题,它要求N最小为2,却要求N为奇数,N为奇数应该最小为3或1才对.

按照题目要求编写的C语言矩阵程序如下

#include<stdio.h>

int main(){

int i,j,k,N,count=1

scanf("%d",&N)

if(N<=2 || 15<N || N%2==0){

printf("请输入小于等于15且大于2的奇数")

}else{

int a[N][N]

for(i=N/2i>=0i--){

k=N-i-1

for(j=N-i-2j>=ij--){

  a[j][k]=count++

}

for(j=N-i-2j>=i+1j--){

  a[i][j]=count++

}

for(j=ij<N-ij++){

  a[j][i]=count++

}

for(j=i+1j<N-ij++){

  a[k][j]=count++

}

}

for(i=0i<Ni++){

for(j=0j<Nj++){

  printf("%-5d",a[i][j])

}

printf("\n")

}

}

return 0

}

#include<stdio.h>

#include<math.h>

void main()

{int a[100][100]

int n,i,j,t

printf("--------")

scanf("%d",&n)

printf("--------")

for(i=0i<ni++)

for(j=0j<nj++)

{

scanf("%d",&a[i][j])

}

for(i=0i<ni++){ for(j=0j<nj++)

{

printf("%4d",a[i][j])

}

printf("\n")

}

for(i=0i<ni++)

for(j=0j<nj++)

{

t=a[i][j]

a[i][j]=a[j][i]

a[j][i]=t

}

for(i=0i<ni++)

{ for(j=0j<nj++)

{

printf("%4d",a[i][j])

}

printf("\n")

}

}