将字符串student a am i反转为 i am a student

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

void reserve_string(char *l, char *r)
{
    while(l < r)
    {
        char tmp = *l;
        *l = *r;
        *r = tmp;
        l ++;
        r --;
    }
}
void reserve(char ch[], int len)
{
    int i = 0;
    char *chl = ch;
    char *chr = ch;
    while(ch[i])
    {
        if(ch[i] == ‘ ‘)
        {
            reserve_string(chl, chr - 1);  //先反转每个单词,函数的嵌套调用 tneduts a ma i
            chl = ++chr; //先给chr +1,再把ch的值付给chl

        }
        else
        {
            chr ++;
        }
        i++;
    }
    reserve_string(ch, ch +len-1);  //再整体反转  i am a student

}
int main()

{
    char ch[] = "student a am i";
    reserve(ch , strlen(ch));
    printf("%s\n",ch);
    return 0;
}
时间: 2024-10-09 20:06:27

将字符串student a am i反转为 i am a student的相关文章

【字符串处理算法】将输入字符串中的各个单词反序的算法设计及C代码实现

一.需求描述 输入一个字符串,编写程序将该字符串中的各个单词反序拼装并输出.例如,如果输入的字符串是"Hello, how do you do",那么输出的字符串为"do you do how Hello,".注意保留各个单词之间的空格及相应的标点符号. 二.算法设计 通过观察示例字符串(即"Hello, how do you do"),我们可以看到该字符串中各个单词与空格之间的关系为:单词总数=空格总数+1.也就是说,示例字符串中的空格总数为4

c# 字符串中多个连续空格转为一个空格

#region 字符串中多个连续空格转为一个空格 /// <summary> /// 字符串中多个连续空格转为一个空格 /// </summary> /// <param name="str">待处理的字符串</param> /// <returns>合并空格后的字符串</returns> public static string MergeSpace(string str) { if (str != string

利用StringEscapeUtils对字符串进行各种转义与反转义(Java)

利用StringEscapeUtils对字符串进行各种转义与反转义(Java) 分类: java编程思想 Guava-Commons-xml-json等工具类库2015-02-03 20:51 6290人阅读 评论(1) 收藏 举报 StringEscapeUtils用法例StringEscapeUtils使用java中字符串的转义字符串转义工具StringEscapeUtils apache工具包common-lang中有一个很有用的处理字符串的工具类,其中之一就是StringEscapeUt

Python字符串和正则表达式中的反斜杠(&#39;\&#39;)问题

在Python普通字符串中 在Python中,我们用'\'来转义某些普通字符,使其成为特殊字符,比如 In [1]: print('abc\ndef') # '\n'具有换行的作用 abc defg In [2]: print('abc\tdef') # '\t'具有制位符的作用 abc defg 我们还可以用'\'来转义特殊字符,使其成为普通字符,比如 In [3]: print('abc\\tdef') # 使'\'成为一个普通的字符,没有转义作用 abc\tdef In [4]: prin

Python基础要点:字符串和正则表达式中的反斜杠(‘\‘)问题详解

给大家整理的是关于Python字符串和正则表达式中的反斜杠('\')问题以及相关知识点,有需要的朋友们可以学习下. 在Python普通字符串中 在Python中,我们用'\'来转义某些普通字符,使其成为特殊字符,比如 1 In [1]: print('abc\ndef') # '\n'具有换行的作用 2 abc 3 defg 4 5 In [2]: print('abc\tdef') # '\t'具有制位符的作用 6 abc defg 我们还可以用'\'来转义特殊字符,使其成为普通字符,比如 1

【C语言】将student a am i翻转成i am a student。

将student a am i翻转成i am a student. 方法: (1)先将所有字符串进行翻转,即变成"i ma a tneduts", (2)当遇到空格时,则把空格前那段字符进行翻转,接着往下判断. #include <stdio.h> #include <string.h> #include <assert.h> char * fanzhuan(char *str) { assert(str); char *l = str; char

利用StringEscapeUtils工具类对字符串进行各种转义与反转义(Java)

apache工具包common-lang中有一个很有用的处理字符串的工具类,其中之一就是StringEscapeUtils,这个工具类是在2.3版本以上加上的去的,利用它能很方便的进行html,xml,java等的转义与反转义,而且还能对关键字符串进行处理预防SQL注入,不过好像common-lang3.0以后我看着好像没这个处理SQL语句的方法了,想用的话前提时引入对应的jar包,以下为它的部分方法: 它的方法,全是静态,直接用类调用即可,下边来根据代码看看它们几个的用法和效果,一看一目了然:

正则表达式,字符串中需要两个反斜杠“\\d”

这个正则表达式为什么会有两个反斜杠? "^.*?\\.(jpg|png|bmp|gif)$"上面这个正则表达式为什么有两个反斜杠呢?反斜杠点\.就能表示点.了,为什么还要在\.前面多加一个\? ----------------- 这要分两步看首先字符串中的\\被编译器解释为\         ------->  第一步,编译器将字符串转变为"正则表达式"然后作为正则表达式,\.又被正则表达式引擎解释为.   ----------------> 第二步,才

字符串-----输入十个整数而后反序输出的两种实现方式

//输入十个整数而后反序输出的实现方式一(最直接式) #include"stdafx.h" #include<iostream> using namespace std; void main(){ int a1, a2, a3, a4, a5, a6, a7, a8, a9, a10; cout << "Input 10 integers:\n"; cin >> a1 >> a2 >> a3 >>