单词首字母大写:输入一行字符,将每个单词的首字母改为大写后输出。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。试用c语言编写相应程序。
时间: 2024-10-12 15:11:33 浏览: 51
python中字符串的操作方法大全
在C语言中,我们可以使用`strtok()`函数以及一些控制字符来实现这个需求。这里是一个简单的示例程序,它会接收一行用户输入,然后将每个单词的首字母转换成大写:
```c
#include <stdio.h>
#include <ctype.h>
#include <string.h>
void capitalize(char *word) {
int start = 0;
while (word[start] != '\0') {
word[start] = toupper(word[start]); // 转换为大写
start++; // 移动到下一个字符
if (isalpha(word[start])) { // 如果找到新的单词首字母
start++; // 跳过空格
}
}
}
int main() {
char input[1000];
printf("请输入一行字符: ");
fgets(input, sizeof(input), stdin); // 读取用户输入
// 删除fgets结尾的换行符
size_t len = strlen(input);
if (input[len - 1] == '\n') {
input[len - 1] = '\0';
}
char* token = strtok(input, " "); // 分割单词
while (token != NULL) {
capitalize(token); // 转换首字母为大写
printf("%s ", token); // 输出处理后的单词
token = strtok(NULL, " "); // 获取下一个单词
}
return 0;
}
```
当你运行这个程序并输入一行字符时,它会将每个单词的首字母变为大写。
阅读全文