題目描述:
對字串中的所有單詞進行倒排。
說明:1、每個單詞是以26個大寫或小寫英文本母構成;
2、非構成單詞的字元均視為單詞間隔符;
3、要求倒排後的單詞間隔符以乙個空格表示;如果原字串中相鄰單詞間有多個間隔符時,倒排轉換後也只允許出現乙個空格間隔符;
4、每個單詞最長20個字母;
樣例輸入
i am a student
樣例輸入
student a am i
知識點: 字串,排序
練習階段: 中級
執行時間限制: 10sec
記憶體限制: 128mbyte
輸入:
輸入一行以空格來分隔的句子
輸出:
輸出句子的逆序
樣例輸入: i am a student
樣例輸出: student a am i
問題分析:輸入的是乙個字串,這個字串中用空格或者其他非字母字元作為間隔符,解題思想,是查詢字串,將所有單詞放入乙個陣列中【words】,單詞與單詞的分割靠檢測非字元來實現,最後倒敘輸出【words】中的所有單詞即可,注意,為了保證最後輸出的單詞後面沒有空格,【words】陣列的第一行必須不能是空的。
**:#include #include using namespace std;
int main()
;//存放所有的單詞
int len=str.size();
int m=0,n=0;
int i=0,j=0;
//如果是空串
if(str.empty())
return 0;
//將所有的單詞放在二位陣列words中
for(i=0;i=0;i--)
{ if(words[i][0]!='\0')
{ cout<
int isalpha(int ch)
標頭檔案加入或者(c語言使用<
ctype.h
>)
功能:判斷字元c是否為大寫英文本母
說明:當引數c為大寫英文本母(a-z)時,返回非零值,否則返回零。
附加說明: 此為巨集定義,非真正函式。
華為 OJ 單詞倒排
對字串中的所有單詞進行倒排。說明 1 每個單詞是以26個大寫或小寫英文本母構成 2 非構成單詞的字元均視為單詞間隔符 3 要求倒排後的單詞間隔符以乙個空格表示 如果原字串中相鄰單詞間有多個間隔符時,倒排轉換後也只允許出現乙個空格間隔符 4 每個單詞最長20個字母 輸入描述 輸入一行以空格來分隔的句子...
華為OJ 中級 單詞倒排
中級 單詞倒排 對字串中的所有單詞進行倒排。說明 1 每個單詞是以 26個大寫或小寫英文本母構成 2 非構成單詞的字元均視為單詞間隔符 3 要求倒排後的單詞間隔符以乙個空格表示 如果原字串中相鄰單詞間有多個間隔符時,倒排轉換後也只允許出現乙個空格間隔符 4 每個單詞最長 20個字母 輸入描述 輸入一...
華為 單詞倒排
對字串中的所有單詞進行倒排。說明 1 每個單詞是以26個大寫或小寫英文本母構成 2 非構成單詞的字元均視為單詞間隔符 3 要求倒排後的單詞間隔符以乙個空格表示 如果原字串中相鄰單詞間有多個間隔符時,倒排轉換後也只允許出現乙個空格間隔符 4 每個單詞最長20個字母 輸入一行以空格來分隔的句子輸出句子的...