C语言数组反转

Python014

C语言数组反转,第1张

矩阵转置需要发现其中的规律。仔细分析之后就会知道:从最后一列开始,先输出最下面的元素,然后依次向上输出,该列输出完之后,输出前一列;知道元素全部输出。

下面是我写的代码和运行的结果:

#include <stdio.h>

int main()

{

int a[100][100], n, i, j

printf("请输入矩阵的维数:n = %\n")

scanf("%d", &n)

printf("请输入矩阵中的元素:\n")

for(i=0 i<n i++)

{

for(j=0 j<n j++)

{

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

}

}

printf("矩阵转置之后为:\n")

for(j=n-1 j>=0 j--)

{

for(i=n-1 i>=0 i--)

{

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

}

printf("\n")

}

}

反转输出是比如a[5]={0,1,2,3,4}输出是a[5]={4,3,2,1,0}吗?如果是我理解的这样,那看下面吧

#include <stdio.h>

int main()

{

int a[6]={0,1,2,3,4,5}

int i,n,temp

n=6//数组元素个数

for(i=0i<n/2i++)

{

temp=a[i]

a[i]=a[n-1-i]

a[n-1-i]=temp

}

for(i=0i<ni++)

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

return 0

}

#include <stdio.h>

void invert(int x[],int n)

void main()

{

int i,*p,a[10]={2,3,4,5,6,7,8,9,10,11}

printf("%s\n","元素倒置前:")

for(p=ap<a+10) printf("%d ",*(p)++)

printf("\n")

p=a

invert(p,10)

printf("%s\n","元素倒置后:")

for(p=ap<a+10) printf("%d ",*(p)++)

printf("\n")

}

void invert(int x[],int n)

{

int temp,i,j,m=(n-1)/2

for (i=0i<=mi++)

{

j=n-1-i

temp=x[i]x[i]=x[j]x[j]=temp

}

}