c语言逆序输出的单词
时间: 2024-04-12 08:22:30 浏览: 181
以下是C++实现英文句子中的单词逆序输出的方法:
```cpp
#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main() {
string s;
getline(cin, s); // 读入一行字符串
vector<string> words; // 存储单词
string word;
for (int i = 0; i < s.size(); i++) {
if (s[i] == ' ') { // 遇到空格,将单词存入vector中
words.push_back(word);
word = "";
} else {
word += s[i];
}
}
words.push_back(word); // 将最后一个单词存入vector中
for (int i = words.size() - 1; i >= 0; i--) { // 逆序输出单词
cout << words[i] << " ";
}
return 0;
}
```
相关问题
c语言逆序输出字符串单词
在C语言中,逆序输出字符串单词通常涉及到两个步骤:首先,将整个字符串反转;然后,遍历反转后的字符串,遇到空格就停止并打印当前的单词,直到再次遇到空格。这里是一个简单的示例代码:
```c
#include <stdio.h>
#include <string.h>
void reverse(char *str) {
int start = 0, end = strlen(str) - 1;
while (start < end) {
char temp = str[start];
str[start] = str[end];
str[end] = temp;
start++;
end--;
}
}
void print_words_backwards(char *str) {
// 反转字符串
reverse(str);
int i = 0, j = strlen(str) - 1;
while (i < j) {
if (str[i] == ' ') { // 遇到空格,打印单词
printf("%s ", &str[j]);
j--;
} else {
i++; // 没有空格,继续查找下一个单词的开始位置
}
}
printf("\n"); // 输出结束后换行
}
int main() {
char str[] = "Hello World, How Are You?";
print_words_backwards(str);
return 0;
}
```
当你运行这个程序,它会逆序输出"Are You? How World, Hello"。
c语言英语单词逆序输出
以下是C语言实现单词逆序输出的代码示例:
```c
#include <stdio.h>
#include <string.h>
void reverse(char *begin, char *end) {
char temp;
while (begin < end) {
temp = *begin;
*begin++ = *end;
*end-- = temp;
}
}
void reverseWords(char *s) {
char *word_begin = NULL;
char *temp = s;
while (*temp) {
if ((word_begin == NULL) && (*temp != ' ')) {
word_begin = temp;
}
if (word_begin && ((*(temp + 1) == ' ') || (*(temp + 1) == '\0'))) {
reverse(word_begin, temp);
word_begin = NULL;
}
temp++;
}
reverse(s, temp - 1);
}
int main() {
char s[] = "hello world"; printf("Original string: %s\n", s);
reverseWords(s);
printf("Reversed string: %s\n", s);
return 0;
}
```
运行结果为:
```
Original string: hello world
Reversed string: world hello
```
阅读全文