逐个翻转每个字符串中的单词,如将I Am a Programmer ---》I mA a remmargorP

给定一个字符串,将字符串中的每个单词逐个翻转。

举例如下:

输入:“I Am a Programmer ”

结果:"I mA a remmargorP "

函数形式如下:

char *ReversString(char *Source)

#include<stdio.h>
#include<stdlib.h>
#include<string.h>

char *ReversString(char *Source)
{
        char ch1[20];
        char *ptr = ch1;
        int len = 0,post = 0;

        bzero(ch1,sizeof(ch1));
//      if(Source == NULL) return Source;
        /*1、先切割出单词
        2、反转单词
        3、完成连接
        */
        while(Source[post] != '\0'){

                //完成取单词    
                while((Source[post] != ' ') && (Source[post] != '\0') )
                {
                        ptr[len++] = Source[post++];
                }

                //单词反转
                len = len -1;
                while(len != 0){
                        Source[post-len-1] =ptr[len--];
                }

                Source[post-len-1] = ptr[len];

                post++;

        }
        return Source;
}

int main()
{
        char ch[20] = "I Am Prammer";
        printf("%s\n",ch);

        ReversString(ch);
        printf("%s\n",ch);
        return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值