C语言:请编写一个程序,完成以下功能:从键盘输入一行英文句子,输出到屏幕上,并将每个单词的首字符改写成大写字母(仅改写首字符为英文字母的单词)。
时间: 2024-09-28 11:06:42 浏览: 70
将英文单词首字母转为大写输出的C程序
下面是一个简单的C语言程序,用于实现这一功能:
```c
#include <stdio.h>
#include <ctype.h> // 包含函数库,以便使用isalpha()
// 自定义函数,用于转换单词首字母为大写
void capitalize(char *word) {
if (*word && isalpha(*word)) { // 检查单词的第一个字符是否为字母
*word = toupper(*word); // 将字母转为大写
}
}
int main() {
char input[1000];
printf("请输入一行英文句子:\n");
fgets(input, sizeof(input), stdin); // 从键盘读入一行字符串
// 分割句子,处理每个单词
char *token = strtok(input, " "); // 以空格分隔单词
while (token != NULL) {
capitalize(token); // 转换首字母为大写
printf("%s ", token); // 输出单词
token = strtok(NULL, " "); // 获取下一个单词
}
printf("\n"); // 结束行
return 0;
}
`
这段程序首先提示用户输入英文句子,然后使用`strtok`函数按空格分割句子。对于每一个单词,我们先检查首字符是否为字母(非数字、标点或其他字符),如果是,就使用`toupper`函数将其转为大写,然后再输出。
阅读全文