单词整理器¶
Deadline
2026年4月3日23:59
题目背景¶
在文本预处理中,常常需要先把一行字符串整理成规范形式,再进行进一步分析。现在请你编写一个小工具,对输入的一行英文文本完成整理和统计。
题目描述¶
输入一行只包含英文字母和空格的字符串,请完成以下任务:
- 删除多余空格,使单词之间只保留一个空格,且句首句尾没有空格。
- 统计整理后共有多少个单词。
- 输出每个单词首字母依次拼成的字符串。
- 输出最长的单词;如果有多个长度相同的最长单词,输出最先出现的那个。
例如,输入:
data structure and algorithm
整理后应得到:
data structure and algorithm
输入格式¶
输入只有一行,长度不超过 200。
保证该行只包含大小写英文字母和空格,且至少存在一个单词。
输出格式¶
输出共 4 行:
- 整理后的字符串
- 单词个数
- 首字母拼接后的字符串
- 最长单词
数据范围¶
- 字符串总长度不超过
200 - 单词个数不超过
50
时间限制¶
1 秒
内存限制¶
128 MB
样例¶
输入¶
data structure and algorithm
输出¶
data structure and algorithm
4
dsaa
structure
提示¶
- 可以先完成“去除多余空格”,再基于整理后的字符串完成统计。
- 处理字符串时建议使用字符指针逐个扫描。
- “最长单词”若长度相同,保留第一次出现的答案即可。
实现要求¶
- 必须使用指针处理字符串,不要把核心逻辑完全写成下标枚举。
- 建议采用多文件实现,例如拆分为
main.c、工具模块.c、头文件.h。 - 工程需要能通过
Makefile或CMakeLists.txt构建。 - 平台无法进行
CMake编译,所以需要同学将所有文件放在同一目录下。