跳转至

单词整理器

Deadline

2026年4月3日23:59

题目背景

在文本预处理中,常常需要先把一行字符串整理成规范形式,再进行进一步分析。现在请你编写一个小工具,对输入的一行英文文本完成整理和统计。

题目描述

输入一行只包含英文字母和空格的字符串,请完成以下任务:

  1. 删除多余空格,使单词之间只保留一个空格,且句首句尾没有空格。
  2. 统计整理后共有多少个单词。
  3. 输出每个单词首字母依次拼成的字符串。
  4. 输出最长的单词;如果有多个长度相同的最长单词,输出最先出现的那个。

例如,输入:

data   structure  and   algorithm

整理后应得到:

data structure and algorithm

输入格式

输入只有一行,长度不超过 200

保证该行只包含大小写英文字母和空格,且至少存在一个单词。

输出格式

输出共 4 行:

  1. 整理后的字符串
  2. 单词个数
  3. 首字母拼接后的字符串
  4. 最长单词

数据范围

  • 字符串总长度不超过 200
  • 单词个数不超过 50

时间限制

1 秒

内存限制

128 MB

样例

输入

data   structure  and   algorithm

输出

data structure and algorithm
4
dsaa
structure

提示

  • 可以先完成“去除多余空格”,再基于整理后的字符串完成统计。
  • 处理字符串时建议使用字符指针逐个扫描。
  • “最长单词”若长度相同,保留第一次出现的答案即可。

实现要求

  • 必须使用指针处理字符串,不要把核心逻辑完全写成下标枚举。
  • 建议采用多文件实现,例如拆分为 main.c、工具模块 .c、头文件 .h
  • 工程需要能通过 MakefileCMakeLists.txt 构建。
  • 平台无法进行CMake编译,所以需要同学将所有文件放在同一目录下。