大一新生,课堂布置让我们用现有的知识做,必须要用循环语句(我们现在只学了if、 do while 、switch、 for循环语句)不能用字符数组。我真的被难到了,求指点
C++ 用循环语句破译密码
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- xybf 2022-10-24 10:28关注
代码在下面,具体代码注释应该解释的很详细了
#include <iostream> #include <stdio.h> using namespace std; char ch; int main() { cout << "请输入密码:"; while(~scanf("%c", &ch)) // cin 读不到换行, 所以用 scanf { if(ch == '\n') // 因为只输入一行,所以检测到换行就退出 break; ch -= 3; // 往前移 3 位 if(ch < 'a') // 如果得到的值比 'a' 还小,说明越界了 ch += 26; /* 往后移 26 位,比如 ch 输入为 'a' 移动了之后是 'a' - 3 (不是字母) 加上 26 后相当于 'a' - 3 + 26 就是 'z' - 3 就是 'x' 这样就可以避免越界的问题 */ cout << ch; } }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 minnio内存占用过大,内存没被回收(Windows环境)
- ¥65 抖音咸鱼付款链接转码支付宝
- ¥15 ubuntu22.04上安装ursim-3.15.8.106339遇到的问题
- ¥15 求螺旋焊缝的图像处理
- ¥15 blast算法(相关搜索:数据库)
- ¥15 请问有人会紧聚焦相关的matlab知识嘛?
- ¥15 网络通信安全解决方案
- ¥50 yalmip+Gurobi
- ¥20 win10修改放大文本以及缩放与布局后蓝屏无法正常进入桌面
- ¥15 itunes恢复数据最后一步发生错误