首字母变大写:输入一个英文句子,将每个单词的第一个字母改成大写字母。 【输入形式】一个长度不超过100的英文句子【输出形式】按照要求改写后的英文句子,每个单词的首字母大写(用C语言
时间: 2024-09-15 20:01:45 浏览: 96
Java小程序 输入一个字符串,将每一个单词首字母大写
在C语言中,可以使用标准库函数如`ctype.h`提供的`toupper()`函数以及一些字符串处理技巧来实现首字母大写的转换。下面是一个简单的示例代码:
```c
#include <stdio.h>
#include <string.h>
#include <ctype.h>
// 将给定字符转换为大写
char to_upper(char c) {
return c >= 'a' && c <= 'z' ? c + ('A' - 'a') : c;
}
// 首字母大写函数
void capitalize_sentence(char *sentence) {
if (sentence != NULL) {
size_t length = strlen(sentence);
if (length > 0) {
sentence[0] = to_upper(sentence[0]); // 转换第一个字符
for (size_t i = 1; i < length; i++) {
if (sentence[i - 1] == ' ' || sentence[i - 1] == '\0') { // 检查前一个字符是否为空格
sentence[i] = to_upper(sentence[i]);
}
}
}
}
}
int main() {
char input[101];
printf("请输入一个英文句子 (不超过100个字符): ");
fgets(input, sizeof(input), stdin); // 从用户输入获取句子
// 去除fgets留下的换行符
if (input[strlen(input) - 1] == '\n') {
input[strlen(input) - 1] = '\0';
}
capitalize_sentence(input);
printf("转换后的句子: %s", input);
return 0;
}
```
当运行此程序时,它会提示用户输入一个英文句子,然后将每个单词的首字母转换为大写。
阅读全文