問題描述 :
你有乙個破損的鍵盤。鍵盤上的所有鍵都可以正常工作,但有時home鍵或者end鍵會自
動按下。你並不知道鍵盤存在這一問題,而是專心地輸入英文單詞,甚至連顯示器都沒瞧一眼。當你
看顯示器時,展現在你面前的是一段悲劇的文字。你的任務是計算這段文字有幾個單詞。
輸入包含多組資料。每組資料佔一行,包含不超過20000個英文本母、空格、字元「[」或
者「]」(這多達20000個字元的資料會顯示在一行,不用擔心會換行)。其中字元「[」表示home鍵(將游標定位到一行的開頭),「]」表示end鍵(將游標定位到一行的結尾)。輸入結束標誌為檔案結束符(eof)。輸
入文字不超過50kb。
對於每組資料,輸出乙個數字,即這一行悲劇文字中共有幾個單詞(以空格分隔的連續字串為乙個單詞)。
比如,輸入:
this is a [beiju] text
得到的悲劇文字是:
beijuthis is a text
因此,共有4個單詞。
而輸入:
this[ ]is[ ]a [beiju] text
得到的悲劇文字是:
beiju thisisa text
因此,共有3個單詞。
本程式用帶頭結點的單鏈表實現,請編寫其中的count函式,實現統計單詞個數的功能。請不要嘗試使用陣列實現,那樣會導致程式執行超時。
輸入說明 :
可輸入多組文字,每組包含一行,其中包括英文本母組成的單詞、空格、[、]
輸出說明 :
輸出乙個整數,為單詞數目
輸入範例 :
this is a [beiju] text
this[ ]is[ ]a [beiju] text
輸出範例 :43
#include
#include
#include
#include
#include
using
namespace std;
struct node
;struct node*
create
(char text)
else
if(text[i]
==']'
)else
}return head;
}int
count
(struct node *head)
if(flag==
1&& p-
>data==
' ')
p=p-
>next;
}return sum;
//函式形參為煉表頭指標,注意,其中第乙個結點是頭結點
}int
main()
//printf("%.2f\n", (double)clock()/clocks_per_sec);
return0;
}
UVA 11988 悲劇文字 靜態鍊錶
你有乙個破損的鍵盤。鍵盤上的所有鍵都可以正常工作,但有時home鍵或者end鍵會自 動按下。你並不知道鍵盤存在這一問題,而是專心地打稿子,甚至連顯示器都沒開啟。當你 開啟顯示器之後,展現在你面前的是一段悲劇的文字。你的任務是在開啟顯示器之前計算出 這段悲劇文字。輸入包含多組資料。每組資料佔一行,包含...
資料結構 鍊錶
鍊錶 what 就是一張鏈式儲存的表,是一種資料結構,是基礎,所以還是不要想有什麼用。具體呢?在c中就用結構體實現物件描述,然後通過函式來實現各個基本操作 c 則用類來表述,c中的結構體就可以看成c 中的類,然後通過類封裝各個操作步驟。這些操作實現後就需要 來測試,號稱demo,就是main函式裡面...
資料結構 鍊錶
鍊錶中的資料是以節點來表示的,每個結點的構成 元素 資料元素的映象 指標 指示後繼元素儲存位置 元素就是儲存資料的儲存單元,指標就是連線每個結點的位址資料。鍊錶的結點結構 data next data域 存放結點值的資料域 next域 存放結點的直接後繼的位址 位置 的指標域 鏈域 以 結點的序列 ...