用c语言编写一个程序,输入一系列单词,单词之间以逗号分隔,然后 提取这些单词,并将它们分行输出,删除头尾的空格。例如,如 果输入时: John , 输出将是: John Jack Jill Jack
时间: 2024-12-12 13:19:43 浏览: 9
在C语言中,你可以使用`scanf`, `getchar`, 和字符串处理函数来实现这个需求。以下是一个简单的示例程序:
```c
#include <stdio.h>
#include <ctype.h>
void extract_words(char* input) {
int i = 0, j = 0;
while (input[i] != '\0') { // 遍历整个字符串
if (isspace(input[i])) { // 如果遇到空格
if (i > 0 && isalpha(input[j - 1])) { // 检查前面是否有字母
input[j] = '\0'; // 将前一个单词结束
printf("%s\n", input); // 输出单词并换行
j = 0; // 重置j准备记录下一个单词
}
} else {
++j; // 如果不是空格,继续添加字符到当前单词
}
++i;
}
// 处理最后一个单词,因为它不会自动遇到空格
if (isalpha(input[j - 1])) {
input[j] = '\0';
printf("%s\n", input);
}
}
int main() {
char input[100];
printf("请输入一系列单词,用逗号分隔:");
fgets(input, sizeof(input), stdin);
// 删除最后一行的换行符
input[strcspn(input, "\n")] = '\0';
extract_words(input);
return 0;
}
```
在这个程序中,我们首先读取用户的输入,然后遍历输入字符串,每当遇到空格时检查是否形成了完整的单词,如果满足条件就输出并清空当前词组,直到遍历完整个输入。
阅读全文