c++ - 输入 "cobra"输出 "dpcsb"将 1 个字符转换为下一个 C++

标签 c++ algorithm lookup-tables

问题是:
编写一个简单的程序,使用查找表或简单的算法来加密文本字符串;例如,文本字符串“Hello World”可以通过简单地将每个字符转换为字母表中的下一个字母来加密为字符串“ifmmp xpqme”

  char inputwords[100];
char *words;
char y='w';
int x=0;

cout<<"Enter word: ";
cin>>inputwords;

words=&inputwords[0];


for(int ctr=0;ctr<100;ctr++)
{
    if(*(words+ctr)+1==1||*(words+ctr)+1==-51)
        cout<<" ";
    else
    cout<<char(*(words+ctr)+1);
}

这是代码片段 我的问题是,当我输入“Hello World”时,输出只是“ifmmp”,它忽略了“World”。帮助:(

最佳答案

cin 在输入流上使用 >>> 只读取第一个单词,在您的情况下它只是 Hello 跳过 World。因此,要将整个多词字符串读入 char 数组 inputwords 使用,

cin.getline(inputwords, sizeof(inputwords));

无论您的输入字符串是什么,for 循环都会迭代 100 次,这将导致字符串后出现垃圾值。

您需要处理大小写,例如,如果两个单词之间有空格,则让 put 保持不变,而不是将其推进到 !

关于c++ - 输入 "cobra"输出 "dpcsb"将 1 个字符转换为下一个 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21680616/

相关文章:

c++ - 尝试创建一个更好的循环来命名数组元素

c++ - 检查打印机是否存在的程序

algorithm - 如何最好地从查找表中获取数据

string - 在不以纯文本形式存储子字符串的情况下在流中查找子字符串

c++ - 使用字符串类型的键存储散列值的最佳结构

python - 如何将 Python 列表格式化为已初始化的 C 数组?

c++ - CreateThread 函数的多个参数

c++ - 如何从 C++ 发送双击键盘焦点对象?

algorithm - 如何在 Nx3 矩阵中获得 k 个 2x1 或 1x2 block 的最大总和

r - dplyr 查找表/模式匹配