4.编写一个C函数,将”I am from shanghai ”倒置为”shanghai from am I”,及将句子中的单词位置倒置,而不改变单词内部结构.

/*****************************************************
copyright (C), 2014-2015, Lighting Studio. Co.,     Ltd. 
File name:
Author:Jerey_Jobs    Version:0.1    Date: 
Description:
Funcion List: 
*****************************************************/

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

void change(char str[], int n)//将整个字符串逆序存放
{
int i, j;
char temp;

for(i = 0,j = n;i < n / 2;i++,j--)
{
        temp = str[i];
str[i] = str[j - 1];
str[j - 1] = temp;
}
}

void re_change(char *s)
{
int count = 0;
while(1)
{
count++;
if((*s) == ' ' || (*s) == '\0')//当遇到空格或者'\0'就交换前面一个单词的字母顺序
{
change(s - (count - 1), count - 1);
count = 0;
}
s++;
if(*s == '\0')
{
break;
}
}

}
int main()
{
    char s[] = "I am from shanghai";
int size = 0;
size = strlen(s);
change(s, size);
re_change(s);

puts(s);
    return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值