2026 首字母变大写

关键字: 代码分享 杭电100题

问题描述

Problem Description

输入一个英文句子,将每个单词的第一个字母改成大写字母。

Input

输入数据包含多个测试实例,每个测试实例是一个长度不超过100的英文句子,占一行。

Output

请输出按照要求改写后的英文句子。

Sample Input

i like acm
i want to get an accepted

Sample Output

I Like Acm
I Want To Get An Accepted

问题分析

Problem Analyse

本题是为C语言初学者提供的。

Algorithm Analyse

问题的关键在于如何判断为单词的首字母。方法也不难,只要你判断当前字符为字母,而前一个为空格就可以了。

为了简单处理整个字符串的第一个字符。你可以让保存前一个字符的变量初始为空格。这样就可以把判断规则统一起来了,不用特殊处理字符串的第一个字符。

算法实现

算法知道了,其实实现起来更简单,让保存字符串的数组第一个为空格,而读数据时从第二个开始保存。这样实现起来可以很简洁。具体的请参见源码。

参考源码

redraiment使用Emacs Lisp批量迁移《HDU 2020-2029》