凯撒密码code [英] Caesar's Cipher Code
本文介绍了凯撒密码code的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
#include <stdio.h>
void caesar (char cipher[], int shift);
int main () {
char cipher[50];
int shift;
printf("Enter text to be encrypted IN CAPITAL LETTERS ONLY: ");
scanf("%s", cipher);
printf("How many shifts do you prefer? 1-10 only: ");
scanf("%d", &shift);
caesar (cipher, shift);
return 0;
}
void caesar (char cipher[], int shift) {
int i = 0;
while (cipher[i] != '\0') {
if ((cipher[i] += shift) >= 65 && (cipher[i] += shift) <= 90) {
cipher[i] += (shift);
} else {
cipher[i] += (shift - 25);
}
i++;
}
printf("%s", cipher);
}
我开始得到加密输出,但我怕有什么毛病我的陈述。
的例如:的
- 的输入:ABCD,1移的
- 的输出:DEFG 的&LT; =这实际上是3班 。
- Input: ABCD, 1 shift
- Output: DEFG <= which is actually 3 shifts.
推荐答案
修改
if ((cipher[i] += shift) >= 65 && (cipher[i] += shift) <= 90) ...
到
if ((cipher[i] + shift) >= 65 && (cipher[i] + shift) <= 90) ...
因为 + =
修改密码[I]
。
这篇关于凯撒密码code的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文