用C语言实现将字符串中的每个单词首字符大写,其余字符都小写 输入:i aM A Chinese. i lOVe mY HomeLand. 输出:I Am A Chinese. I Love My Homeland.
时间: 2024-01-24 17:17:30 浏览: 133
以下是用 C 语言实现该功能的代码:
```c
#include <stdio.h>
#include <ctype.h>
#include <string.h>
void capitalize(char *str) {
int i;
int len = strlen(str);
int first_char = 1;
for (i = 0; i < len; i++) {
if (isspace(str[i])) {
first_char = 1;
} else if (first_char) {
str[i] = toupper(str[i]);
first_char = 0;
} else {
str[i] = tolower(str[i]);
}
}
}
int main() {
char str[] = "i aM A Chinese. i lOVe mY HomeLand.";
capitalize(str);
printf("%s\n", str);
return 0;
}
```
运行结果为:
```
I Am A Chinese. I Love My Homeland.
```
这个程序首先定义了一个 `capitalize` 函数,它接受一个字符串指针并将其每个单词的首字母大写,其余字符小写。在函数内部,我们使用 `isspace` 函数来检查当前字符是否为空格字符。如果是,我们将 `first_char` 标记设置为 1,以便下一个字符是下一个单词的第一个字符。如果当前字符不是空格字符,并且 `first_char` 标记为 1,那么我们将当前字符转换为大写字母,并将 `first_char` 标记设置为 0,以便下一个字符不是第一个字符。否则,我们将当前字符转换为小写字母。最后,我们在 `main` 函数中调用 `capitalize` 函数,并打印结果。
阅读全文