c语言:请编写一个程序,完成以下功能:从键盘输入一行英文句子,输出到屏幕上,并将每个单词的首字符改写成大写字母(仅改写首字符为英文字母的单词)。
时间: 2024-10-01 17:12:19 浏览: 73
当然可以,这是一个简单的C语言程序,使用`ctype.h`库来进行大小写字母转换,`strtok()`函数分割字符串,以及` toupper()`函数将首字母转换为大写:
```c
#include <stdio.h>
#include <ctype.h>
#include <string.h>
// 分割单词并转换首字母为大写
void capitalize(char *sentence) {
char *token = strtok(sentence, " ");
while (token != NULL) {
if (isalpha(*token)) { // 检查是否为字母
*token = toupper(*token); // 转换为首字母大写
printf("%c", *token);
} else {
printf("%s", token);
}
token = strtok(NULL, " "); // 继续分割下一个单词
printf(" "); // 添加空格
}
}
int main() {
printf("请输入一行英文句子:");
char sentence[100];
fgets(sentence, sizeof(sentence), stdin);
// 移除末尾的换行符
sentence[strlen(sentence) - 1] = '\0';
capitalize(sentence);
printf("\n");
return 0;
}
```
当你运行这个程序时,它会提示你输入一个英文句子,然后输出处理后的结果,其中每个单词的首字母都被转换为大写。
阅读全文