/**
* 从控制台输入一段英文,然后把这段字符每个单词的首字母大写
思路 :
1. 第一个字符是小写字母, 改成大写
2. 前一个字符是空格,并且是小写字母 搞成大写
*/
int main(int argc, const char * argv[]) {
// 声明字符数组
char str[1000];
printf("请输入一段英文\n");
// 接受输入文本
fgets(str, 1000, stdin);
// 计算长度
size_t len = strlen(str);
// 判断第一个字符
if (str[0] >= 'a' && str[0] <= 'z') {
str[0] -= 32;
}
// 遍历判断
for (int i = 1; i < len; i++) {
// 条件成立,转换字符
if ((str[i - 1]) == ' ' && (str[i] >= 'a' && (str[i] <= 'z'))) {
str[i] -= 32;
}
}
printf("%s\n",str);
return 0;
}
|