字符串翻轉

 
有一個字符串是這樣的:"student a am i",程序實現將字符串轉換爲“i am a student”這樣的字符串。
實現思路:
1.將每個單詞翻轉。

2.然後整天字符串翻轉。




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

void rvs_string(char *left,char *right)  //翻轉指定字符串  
{    
    char *p1 = left;    
     do   
    {    
        char tmp = *left;    
        *left = *right;    
        *right = tmp;    
        left++;    
        right--;    
    }  while(left<right);  
}    
//翻轉單詞序    
void reverse(char *str)    
{    
    do  
    {    
        char *tmpr = str;    
        char *tmpl = str;    
        while((*tmpr != '\0') && (*tmpr != ' '))    
        {    
            tmpr++;    
        }    
        rvs_string(tmpl,tmpr-1);    
        str = tmpr+1;    
    }  while(*str != '\0') ;   
}    
int main()    
{    
    char p[20] = "student a am i";    
    reverse(p);    
    rvs_string(p,p+strlen(p)-1);    
    printf("%s\n",p);    
    return 0;    
}    




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章