将一个字符串以某个字符为中心对称交换(倒序输出字符串)

最近上课时闲来无事,突然思考了一下一个很无聊的问题。


众所周知,一条线段,找到它的中心点,那么我们就可以将其按照中心点对折。

那么,我突然想到,对于一个字符串来说,可不可以也实现它某种意义上的对折呢?


然后,我便开始在草稿纸上演算了一下,发现还是挺简单的,所以记录下来。


这里以字符串Hello为例:

(CSDN突然秀逗了,编辑好的代码,出来后简直不能看,就不使用添加代码了,直接粘代码,可能格式有点不好看,望见谅!)


#include <stdio.h>

int main( )
{
char String[6] = "Hello"; 
int i = 0;
int length = 0;
//计算字符串长度
while( String[i] != '\0' )
{
length ++;
i ++;
}
//Temp数组保存中心点以前的字符
char Temp[2] = {0};
int j = 0;
//将中心点以后的字符对折到中心点以前
while( j < (length)/2 )
{
Temp[j] = String[j];
String[j] = String[length - 1 - j ];
j ++;
}
int t = 0;
//将Temp数组的字符赋给中心点后面的位置
while( t < (length)/2 )
{
String[length - 1 - t ] = Temp[t];
t ++;

int k = 0;
while( String[k] != '\0' )
{
printf( "%c", String[k] );
k ++;
}
printf( "\n" );
return 0;
}





完成了之后,突然发现,这不就是将一个字符串倒序输出嘛。

顿时,汗死了。

但总的来说,没事多想想问题还是有好处的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值