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")

}

}

读取字符串,浏览字符串每一个字符,

如果是空格就输出空格,

否则就保存当前位置,从当前位置移动到下一个空格或字符尾前,

从当前位置开始反向输出,直达回到保存的位置

最后输出回车,结束

//以下是C语言版的,需要的话,可以看看

#include<stdio.h>

#include<stdlib.h>

#include<string.h>

#define String_MaxSize 10000 //读入字符串的最大长度

int main()

{

char stringPtr[String_MaxSize] //保存读入的字符串

//循环读取直到文件尾

while(gets(stringPtr))

{

int stringPtr_length = strlen(stringPtr) //字符串的长度

int i

//循环读取整段字符串

for(i = 0i <stringPtr_lengthi++)

{

//如果字符为空格

if(stringPtr[i] == ' ')

{

//直接输出空格

printf(" ")

}

//如果字符非空格

else

{

int tempPos = i //保存当前i的位置

int j //代替i进行反向移动

//读取到下一个空格或字符串尾的前一个位置

while(i <stringPtr_length &&stringPtr[i] != ' ')

{

i++

}

i--

//输出单词

for(j = ij >= tempPosj--)

{

putchar(stringPtr[j])

}

}

}

//输出回车

printf("\n")

}

//输出回车

printf("\n")

return 0

}