首字母变大写,后面字母变小写,其他字符串不变C语言
时间: 2023-07-25 09:22:54 浏览: 91
好的,您的问题是如何将输入的字符串中每个单词的首字母转换为大写字母,其余字母转换为小写字母,并输出,是吗?
以下是实现该功能的 C 语言代码示例:
```c
#include <stdio.h>
#include <ctype.h>
#include <string.h>
void capitalize_words(char *s) {
int i, len;
len = strlen(s);
for (i = 0; i < len; i++) {
// 如果是单词的第一个字母或前一个字符是空格,则将该字母转换为大写字母
if ((i == 0 || s[i-1] == ' ') && isalpha(s[i])) {
s[i] = toupper(s[i]);
}
// 否则将该字母转换为小写字母
else {
s[i] = tolower(s[i]);
}
}
}
int main() {
char s[100];
printf("请输入要转换的字符串:\n");
fgets(s, sizeof(s), stdin);
capitalize_words(s);
printf("转换后的字符串为:\n%s", s);
return 0;
}
```
您可以运行上述代码,输入要转换的字符串,程序将输出转换后的字符串。
注意,在 C 语言中,字符串必须以空字符 '\0' 结尾,因此在使用字符串时需要考虑字符串的长度。在上面的代码中,我们使用了 `strlen` 函数获取字符串的长度。此外,我们还使用了 `isalpha` 函数判断一个字符是否为字母,使用了 `toupper` 和 `tolower` 函数将一个字符转换为大写字母或小写字母。
阅读全文