自從小赤在冒險世界裡
學會了「計算機魔法」和「成績判斷咒語」後
他的冒險等級大幅提升
那天,他走到王國北邊的「知識森林」
想要尋找傳說中的智慧之書
據說這本書藏在森林深處的「文字迷宮」
只有能理解語言奧秘的人,才能突破關卡,取得寶物
迷宮入口是一道巨大的石門,上面刻著奇怪的符號
小赤走近時,石門突然亮了起來,出現了一行字:
「勇者啊,若要通過此門,必須證明你能掌握文字的力量
給我一段文字,告訴我它有多少字元,多少單字,並找出最常出現的詞語」
小赤心裡一驚,這不是跟老師在圖書館給的任務一模一樣嗎?
他立刻拿出魔法筆記本,準備寫下新學會的程式咒語
小赤在筆記本上揮動羽毛筆,寫下了咒語
#include <iostream>
#include <sstream>
#include <map>
using namespace std;
int main()
{
string text;
cout << "請輸入一段文字:" << endl;
getline(cin, text);
int charCount = 0;
for(char c : text)
{
if(c != ' ') charCount++;
}
string word;
stringstream ss(text);
map<string, int> wordCount;
int totalWords = 0;
while(ss >> word)
{
wordCount[word]++;
totalWords++;
}
string mostWord;
int maxCount = 0;
for(auto &p : wordCount)
{
if(p.second > maxCount)
{
mostWord = p.first;
maxCount = p.second;
}
}
cout << "字元數(不含空白): " << charCount << endl;
cout << "單字數: " << totalWords << endl;
cout << "出現最多的單字: " << mostWord
<< " (" << maxCount << " 次)" << endl;
return 0;
}
小赤深吸一口氣,對著石門說
「好吧,我來試試。」
輸入文字
hello world hello cplusplus
咒語開始發光,接著傳來迴響
字元數(不含空白): 24
單字數: 4
出現最多的單字: hello (2 次)
石門上的符號閃爍起來,慢慢打開,露出迷宮的內部
小赤走進迷宮,忽然出現一個守衛
它的身體由數千個英文字母組成
守衛冷冷地說
「要繼續前進,你必須告訴我這篇卷軸中最常出現的字」
守衛將一卷羊皮紙丟給小赤,上面寫著
this is a test this is a cplusplus test this is magic
小赤立刻運行咒語,輸出結果
字元數(不含空白): 42
單字數: 12
出現最多的單字: is (3 次)
小赤大聲回答
「最常出現的單字是 ‘is’,出現了 3 次!」
守衛笑了笑,身體化作字母塵埃消失不見
小赤繼續深入迷宮,最後來到一個巨大的石台
上面放著閃閃發光的《智慧之書》
石台周圍環繞著最後一道提示
「真正的知識,不在於會念出符文,而在於能用它解決問題
你已經掌握了文字的力量,請將這份能力用在現實世界吧!」
小赤伸出手,拿起書本,腦海中頓時浮現許多靈感
在這場冒險中,小赤把之前學的陣列、字串和迴圈都串了起來
並用程式設計打造了「文字分析器」,解決了迷宮中的謎題
他不只是通過試煉,還領悟到程式的真正力量
它能將混亂的資料變得有條理,讓人類更快找到答案
拿著智慧之書的小赤,笑著踏出迷宮,準備迎接下一場更大的挑戰