一个简单的C++编程问题
答案:3 悬赏:60 手机版
解决时间 2021-03-01 17:08
- 提问者网友:难遇难求
- 2021-03-01 14:09
有一种加密方法是用原来字母的第n个字母代替原来的宁母。例如把A用其后第4个字母E来替代。现在有一密文内容为wigvix,编程求出它的原文是什么?(提示:可根据上述加密原理,使用若干字符型变量来实现)。
最佳答案
- 五星知识达人网友:从此江山别
- 2021-03-01 15:30
就是用 “例如把A用其后第4个字母E来替代。”这个算法来做吗?
x y z的加密结果是什么?说清楚,方便给你写代码
x y z的加密结果是什么?说清楚,方便给你写代码
全部回答
- 1楼网友:不甚了了
- 2021-03-01 16:39
#include
void Encryption(char s[]) {
int i;
for(i = 0; s[i]; ++i) {
if(s[i] >= 'a' && s[i] <= 'z')
s[i] = (s[i] - 'a' + 4) % 26 + 'a';
if(s[i] >= 'A' && s[i] <= 'Z')
s[i] = (s[i] - 'A' + 4) % 26 + 'A';
}
}
void Decode(char s[]) {
int i;
for(i = 0; s[i]; ++i) {
if(s[i] >= 'a' && s[i] <= 'z')
s[i] = (s[i] - 'a' + 22) % 26 + 'a';
if(s[i] >= 'A' && s[i] <= 'Z')
s[i] = (s[i] - 'A' + 22) % 26 + 'A';
}
}
int main() {
char s[] = "qwer_123.asd";
char t[] = "wigvix";
printf("源码:%s\n",s);
Encryption(s);
printf("密码:%s\n",s);
printf("密码:%s\n",t);
Decode(t);
printf("源码:%s\n",t);
return 0;
}
- 2楼网友:何以畏孤独
- 2021-03-01 16:28
char a[4]={'1','2','3'};
char a[3]={'1','2','3'};
这两行程序的区别就在于3个元素与4个元素.
当有4个元素时,后面有3个值,那么第4个元素没有值,c++会自动设置为0
而char a[]这种写法,c++会将它处理成字符串,
而字符串要求每个字符串用0结尾,
那么上面的程序有0,输出123后就结束了.
下面的程序是3个元素,没有0结尾,就会一直输出,直到遇到0为止,这时就会有乱码出现
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯