用c语言输入一个英文句子,要求将每个单词的首字母改成大写字母。 输入格式: 测试数据有多组,处理到文件尾。每组测试输入一行,包含一个长度不超过100的英文句子(仅包含大小写英文字母和空格),单词之间以一个空格间隔。 输出格式: 对于每组测试,输出按照要求改写后的英文句子。
时间: 2024-12-20 11:24:23 浏览: 43
在C语言中,你可以使用`ctype.h`库提供的函数来处理字符串并转换每个单词的首字母为大写。下面是一个简单的示例程序,用于读取用户输入的一行英文句子,并将其每个单词的首字母大写:
```c
#include <stdio.h>
#include <ctype.h>
#include <string.h>
void capitalize_first_char(char *str) {
if (*str != '\0') { // 如果字符串非空
*str = toupper(*str); // 转换第一个字符为大写
str++; // 移动指针到下一个字符
capitalize_first_char(str); // 递归处理剩余部分
}
}
int main() {
char sentence[101];
while (fgets(sentence, sizeof(sentence), stdin)) { // 从标准输入读取一行
if (sentence[strlen(sentence) - 1] == '\n') { // 如果行尾是换行符,移除
sentence[strlen(sentence) - 1] = '\0';
}
capitalize_first_char(sentence);
printf("%s\n", sentence); // 输出结果
// 如果还有更多数据,继续读取
}
return 0;
}
```
在这个程序中,`capitalize_first_char`函数接收一个指向字符串的指针,然后逐个检查并转换每个字符。如果遇到空格,我们知道已经到达了一个新单词的开始。
阅读全文