入门 · 字符串

单词计数

一行文本进,单词个数出。听着简单——直到输入里有连续空格,而那正是隐藏测试包含的东西。

题目

输入:一行文本(只含字母和空格,最长 10,000 字符)。

输出:单词个数——以空格分隔的片段,忽略空片段。

样例:

输入输出
hello world2
the quick brown fox4

你的解答

Program.cs — 你的解答
"用我的输入试跑"的自定义输入

判题完全在你的浏览器里对隐藏测试运行。代码随打随存(本地)。Ctrl+Enter 判题。

卡住了?提示

提示 1 —— 先拆再数

line.Split(' ') 给你一个片段数组。它的 Length 看似就是答案——但只在没有连续空格时成立。

提示 2 —— 空片段陷阱

两个连续空格会在数组里产生一个空字符串。用 foreach 只数 Length > 0 的片段。隐藏测试里有整行只有空格的情况。

解答(先自己试!)
string[] words = Console.ReadLine().Split(' ');
int count = 0;
foreach (string w in words)
{
    if (w.Length > 0) count++;
}
Console.WriteLine(count);

这是第一道“天真答案对一整类输入都错”的题——学会问"边界情况长什么样",才是真正的收获。