用c语言编写一个脚本,判断输入字符串中每个单词得首字母是否为大写。若不是,则将其修改为大写,其他字母为小写
时间: 2024-10-16 13:03:46 浏览: 17
在 C 语言中,我们可以利用标准库函数如 `isupper()`、`tolower()` 和 `toupper()` 来实现这个功能。下面是一个简单的脚本示例:
```c
#include <stdio.h>
#include <ctype.h>
#include <string.h>
void capitalize_first_letter(char *str) {
int i = 0;
while (str[i]) {
if (i == 0 || str[i - 1] == ' ') { // 检查是否为单词开头或空格后
if (!isupper(str[i])) { // 如果不是大写字母
str[i] = toupper(str[i]); // 转换为大写
}
} else {
str[i] = tolower(str[i]); // 非首字母转为小写
}
i++;
}
}
int main() {
char input[100];
printf("请输入字符串: ");
fgets(input, sizeof(input), stdin);
input[strcspn(input, "\n")] = '\0'; // 移除fgets读取的换行符
capitalize_first_letter(input);
printf("处理后的字符串: %s\n", input);
return 0;
}
```
这个程序首先从用户那里获取输入,然后调用 `capitalize_first_letter` 函数处理字符串。该函数遍历输入的每个字符,如果遇到空格或字符串开始,检查当前字符是否为小写字母;如果是,则转换为大写,否则保持不变。
阅读全文