c语言写键盘输入一个包含多个单词的字符 串,将每个单词从字符串中分离出来保存,并且单词首宇母大写。
时间: 2024-05-10 13:14:21 浏览: 106
以下是一个简单的实现方法:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char str[100];
printf("请输入一个包含多个单词的字符串:\n");
fgets(str, 100, stdin); // 从标准输入读取字符串
int i = 0;
while (str[i] != '\0') {
// 跳过开头的空格
while (isspace(str[i])) {
i++;
}
// 如果已经到达字符串末尾,退出循环
if (str[i] == '\0') {
break;
}
// 记录单词的起始位置
int start = i;
// 找到单词末尾的位置
while (!isspace(str[i]) && str[i] != '\0') {
i++;
}
// 将单词的首字母大写
str[start] = toupper(str[start]);
// 打印单词
printf("%.*s ", i - start, str + start);
}
return 0;
}
```
注:代码中使用了 `fgets` 函数读取字符串,它可以读取包含空格的字符串,并且避免了 `scanf` 函数的一些问题。
阅读全文