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

本文介绍了一种使用C语言实现的字符串处理方法,包括整体字符串的逆序及每个单词内部字符的翻转。通过两个函数分别完成这两个任务,并在主函数中演示了其效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/*****************************************************
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;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值