iT邦幫忙

2025 iThome 鐵人賽

DAY 14
0
自我挑戰組

C++入門即放棄系列 第 14

[DAY14]小赤的程式冒險(續)

  • 分享至 

  • xImage
  •  

自從小赤在冒險世界裡

學會了「計算機魔法」和「成績判斷咒語」後

他的冒險等級大幅提升

那天,他走到王國北邊的「知識森林」

想要尋找傳說中的智慧之書

據說這本書藏在森林深處的「文字迷宮」

只有能理解語言奧秘的人,才能突破關卡,取得寶物

進入文字迷宮

迷宮入口是一道巨大的石門,上面刻著奇怪的符號

小赤走近時,石門突然亮了起來,出現了一行字:

「勇者啊,若要通過此門,必須證明你能掌握文字的力量

給我一段文字,告訴我它有多少字元,多少單字,並找出最常出現的詞語」

小赤心裡一驚,這不是跟老師在圖書館給的任務一模一樣嗎?

他立刻拿出魔法筆記本,準備寫下新學會的程式咒語

小赤的咒語

小赤在筆記本上揮動羽毛筆,寫下了咒語

#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 次!」

守衛笑了笑,身體化作字母塵埃消失不見

知識之書

小赤繼續深入迷宮,最後來到一個巨大的石台

上面放著閃閃發光的《智慧之書》

石台周圍環繞著最後一道提示

「真正的知識,不在於會念出符文,而在於能用它解決問題

你已經掌握了文字的力量,請將這份能力用在現實世界吧!」

小赤伸出手,拿起書本,腦海中頓時浮現許多靈感

結尾

在這場冒險中,小赤把之前學的陣列、字串和迴圈都串了起來

並用程式設計打造了「文字分析器」,解決了迷宮中的謎題

他不只是通過試煉,還領悟到程式的真正力量

它能將混亂的資料變得有條理,讓人類更快找到答案

拿著智慧之書的小赤,笑著踏出迷宮,準備迎接下一場更大的挑戰


上一篇
[DAY13]我來幫你取名字!
下一篇
[DAY15]把資料分門別類!
系列文
C++入門即放棄16
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言