c语言中给一个字符串,设置为每个单词的首字母大写,其他字母小写
时间: 2024-12-25 18:24:17 浏览: 5
在C语言中,你可以使用标准库函数`ctype.h`里的`toupper()`和`tolower()`以及`strtok()`函数来实现这个功能。首先,你需要将字符串按照空格分割成单个单词,然后对每个单词的首字母转换为大写,其余字母转换为小写。以下是一个简单的示例:
```c
#include <stdio.h>
#include <string.h>
#include <ctype.h>
void capitalize_first_letter(char *str) {
char *word = strtok(str, " "); // 分割单词
while (word != NULL) {
int i;
for (i = 0; i < strlen(word); ++i) {
if (i == 0) { // 首字母大写
word[i] = toupper(word[i]);
} else { // 其他字母小写
word[i] = tolower(word[i]);
}
}
str = strtok(NULL, " "); // 获取下一个单词
}
}
int main() {
char sentence[] = "hello WORLD this Is A test";
capitalize_first_letter(sentence);
printf("Capitalized string: %s\n", sentence);
return 0;
}
```
在这个例子中,`capitalize_first_letter`函数会处理输入的字符串并使其满足题目要求。注意,这个程序会在原始字符串上直接修改,如果你想保留原字符串,可以在函数内部复制一份再操作。
阅读全文