zoukankan      html  css  js  c++  java
  • 字符串中单词逆序

    /**//*
     *     将字符串中单词出现次序逆序。
     *    "123 45 6"  --->>    "6 45 123"  
     *
     *    对字符串扫描两次,第一次全体逆序,第二次以单词为单位逆序
     *   
     
    */


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

    char* reverse_string( char* p, unsigned int size )
    {
        
    char            tmp;
        unsigned 
    int    i; 

        
    if ( p == NULL || size == 0 || size == 1 )
            
    return NULL;

        i 
    = 0;
        
    while ( i < size/2 ) {
            tmp        
    = p[i];
            p[i]       
    = p[size-1-i];
            p[size
    -1-i] = tmp;
            i
    ++;
        }


        
    return p;
    }


    int main( void )
    {
        
    char buf[100= "1234567 1  1234   56";
        unsigned 
    int buf_size;
        unsigned 
    int i;
        unsigned 
    int j;

        buf_size 
    = strlen( buf );

        printf(
    "old string:\n%s\n", buf );
        reverse_string( buf, buf_size );
        printf(
    "reversed first time:\n%s\n", buf );

        i 
    = 0;
        
    while ( i < buf_size ) {
            
    //    skip spaces
            while ( buf[i] == ' ' && buf[i] != '\0' ) {
                i
    ++;
            }

            j 
    = i;

            
    //    find nearest space
            while ( buf[i] != ' ' && buf[i] != '\0' ) {
                i
    ++;
            }


            
    //    now j point to the first character of 
            
    //    current word and i point to the nearest space
            reverse_string( &buf[j], i-j );
        }

        printf(
    "reversed string:\n%s\n", buf );

        
    return 0;
    }

  • 相关阅读:
    IE6浏览器无法打开QQ邮箱
    vue 项目中 点击回车键 自动登录
    从后台拿数据来排序
    webpack 学习文档 自己留着用
    vue父子之间的传参问题
    vue中引入mint-ui的步骤 + mintui快速上手
    vue页面刷新
    调试兼容性该注意的的点
    垂直居中的几种方式 + css文本框文字溢出显示省略号
    elementui 鼠标悬停出现下拉列表
  • 原文地址:https://www.cnblogs.com/faraway/p/1243137.html
Copyright © 2011-2022 走看看