#3803. 统一文件名(C++二级)

统一文件名(C++二级)

🗂️ T2. 文件命名格式规范化

🎓 字符串处理专项题 💡 类型:首字母大写 + 其余小写


📋 题目描述

小 A 在命名文件的时候经常不注意大小写,格式比较混乱。现在需要你编写一个程序,将多个文件名统一为规范的格式:

  • 文件名的第一个字符若是​英文字母​,需​转换为大写​;
  • 其余字符中的英文字母均需​转换为小写​;
  • 数字与 - 保持不变。

例如:

  • TestTest
  • testTest
  • 2-TEST2-test
  • problem-6Problem-6

⏱️ 时间限制 & 内存限制

  • 时间限制: 1 秒
  • 内存限制: 65536 KB

🔣 输入格式

  • 第一行输入一个整数 $n$,表示有 $n$ 个文件名需要规范化,$1 \leq n \leq 100$;
  • 接下来 $n$ 行,每行一个文件名,长度不超过 20,且由 字母、数字、短横线(-) 组成。

📤 输出格式

  • 输出 $n$ 行,每行一个字符串,对应规范化之后的文件名。

📥 输入样例

4
Test
data
2-TEST
problem-6

📤 输出样例

Test
Data
2-test
Problem-6

🔍 样例说明

  • 第二个单词 data → 首字母 d 变为大写,其余不变 → Data
  • 第三个单词 2-TEST → 首字符为数字不变,后面 TEST 全部转小写 → 2-test
  • 第四个单词 problem-6 → 首字母 p 变为大写,其余保持小写 → Problem-6

🧠 题目解析

本题考查字符串遍历与​字符大小写转换​。处理步骤如下:

  1. 读取每个字符串;
  2. 判断首字符是否为字母,是小写则转大写;
  3. 其余字符若为大写字母,则转换为小写;
  4. 数字与 - 不变;
  5. 输出格式化结果。