输入几个单词(空格隔开),输出这些单词(每行一个),编个c++
时间: 2024-05-27 11:14:17 浏览: 57
#include <stdio.h>
#include <string.h>
int main() {
char input[100]; // 输入的字符串
char *token; // 分离出来的单词
printf("请输入单词,用空格隔开:\n");
fgets(input, 100, stdin); // 从标准输入读取字符串
token = strtok(input, " "); // 分离第一个单词
while (token != NULL) { // 如果还有单词
printf("%s\n", token); // 输出单词
token = strtok(NULL, " "); // 分离下一个单词
}
return 0;
}
相关问题
用C++写:单词翻转 题目描述 输入一个句子(一行),将句子中的每一个单词翻转后输出 关于输入 只有一行,为一个字符串,不超过500个字符。单词之间以空格隔开。 关于输出 翻转每一个单词后的字符串
在C++中,你可以通过以下几个步骤来实现这个单词翻转的功能:
```cpp
#include <iostream>
#include <sstream>
using namespace std;
// 函数用于反转一个单词
string reverseWord(string word) {
int start = 0, end = word.length() - 1;
while (start < end) {
swap(word[start], word[end]);
start++;
end--;
}
return word;
}
int main() {
string sentence;
// 读取输入的一行字符串
getline(cin, sentence);
// 将字符串分割成单词并逐个处理
stringstream ss(sentence);
string word;
while (ss >> word) {
// 反转每个单词
word = reverseWord(word);
// 输出反转后的单词,注意这里需要加空格
cout << word << " ";
}
return 0;
}
```
这段代码首先定义了一个辅助函数reverseWord,用于反转给定的单词。然后在main函数中,从用户那里获取一行输入,用stringstream将其分解为单词,并对每个单词调用reverseWord函数,最后再连同空格一起输出。
阅读全文