c++ - 在 C++ 中使用 getline、array 以相反的方式转换所有字符
问题描述
char reversevirkne(char virkne[]) {
int apgriests, x = 0;
for (int i = 0; virkne[i] != '\0'; i++) {
x++;
}
x--;
for (int j = x; j >= 0; j--) {
apgriests = (int)virkne[j];
std::cout << virkne[j];
}
std::cout << std::endl;
return 0;
}
这个程序把所有的句子都变成了相反的方向。我需要它只转动单词,以便它们保持在那里的位置。例子:
- 输入:
hello world
- 输出:
olleh dlrow
解决方案
这真的不复杂:
#include <iostream>
#include <string>
void reversevirkne(const char virkne[]) {
std::string w;
for (int i = 0; virkne[i] != '\0'; ++i) {
if (virkne[i] > ' ') // test also manages \t
w = virkne[i] + w;
else if (!w.empty()) {
std::cout << w << ' ';
w.clear();
}
}
std::cout << w << std::endl;
}
int main(int, char **)
{
reversevirkne("hello world");
return 0;
}
推荐阅读
- amazon-web-services - 在端口 443 上将 Apache 反向代理配置为 AWS ALB
- python - 修改 Tkinter 的工具提示类
- python-3.x - 通过保护 Django 上的纵横比来调整照片大小
- qt - 如何通过 Qt 更改记事本的编码
- loops - 循环遍历嵌套循环,但有一点限制
- microsoft-graph-api - 使用 Microsoft Graph API 列出包含团队的组时,筛选器不起作用
- java - Java Kafka Consumer在多线程中的使用
- python - 指明电子邮件的类型
- c# - 范围运算符返回错误结果的弹性搜索结果
- javascript - 本地加载时 Animate.css 将不起作用