输入一个英文句子,将每个单词的第一个字母改成大写字母。
(1)考虑第一个字符,如果是小写字母,则转化为大写。
(2)其他字符,如果这个字符本身是小写字母,而且它的前一个字符是“空格”,则将这个字符转化为大写。
#include
#include
#include
int main() {
char sentence[101];
int length, i;
while ( fgets(sentence, 101, stdin) != NULL ) {
length = strlen(sentence);
if ( islower( sentence[0] ) ){
sentence[0] -= 32;
}
for (i = 1; i < length; i++) {
if( sentence[i-1] == ' ' && islower( sentence[i] ) ) {
sentence[i] -= 32;
}
}
printf("%s", sentence);
}
}
* 注:在 HUST 的 Virtual Judge 上测试 AC