對字串「this is very good」進行翻轉,即「good very is this」;
注意每個單詞仍是正序
思路:1.字串的翻轉的問題,可以使用棧實現。
2.先把所有字元翻轉,然後對再對某乙個單詞翻轉,最終實現題目要求。
c語言**如下:
先把簡單的棧實現列出來:
#ifndef datastruct_mystack_h
#define datastruct_mystack_h
#define kstacksize 100
typedef structmystack;
mystack* initstack();
void push(mystack* s,void* p);
void* pop(mystack* s);
void freestack(mystack* s);
#endif
#include #include "mystack.h"
//mystack* initstack()
//void push(mystack* s,void* p)}//
void* pop(mystack* s)
return null;}//
void freestack(mystack* s)
具體的呼叫。
int main
else
index ++;
}//3.最後乙個單詞,翻轉一下。
reverstring(reversalptr,length,resultptr);
printf("%s",result);
//4.清理資料
free(reversal);
reversalptr=null;
free(result);
result=null;
}void reverstring(char* str,int length,char*buffer)
mystack * stack = initstack();
int i=0;
while (i
this is very good
doog yrev si siht
good very is this
翻轉字串 翻轉單詞字串
將一句話裡面的單詞進行倒置,標點符號不倒換。比如一句話 i come from china.倒換後變成 china.from come i 解析 解決該問題可以分為兩步,第一步全盤置換為 anihc morf emoc i 第二部對每個單詞進行逐步翻轉,如果不是空格,則開始翻轉單詞。具體 如下 in...
字串 單詞翻轉
輸入乙個英文句子,翻轉句子中單詞的順序,要求單詞內字元的順序不變。標點視為單詞的一部分,單詞間以空格分開。顯然,先將整個字串翻轉,再翻轉以空格隔開的各個小區間即可。這裡需要用空格將字串分成多個小區間,這種需求在split等函式中也有。上 include include 翻轉p到q之間的內容,包括p和...
字串 單詞翻轉
給定乙個句子,翻轉其中的單詞 單詞之間由不確定的空格分隔 如 i come from china china from come i 基本思路 讀入字串,按照空格,單詞依次讀取進乙個 單詞表中,而後反向拼接單詞表即可 注意點 空格可能包含多個,讀取終止條件是,讀取空格時遇到了字元,讀取單詞時遇到了空...