编程序从键盘上输入五个字符,'G’、"T’、'm’、'r、'e'分别赋值给五个实验内容 字符变量c1c2,c3c4c5。然后进行解码,解码算法是:用原来的字母前面第4个字母代替原来的字母。 。2、用scanf函数从键盘输入5个任意字符,如果是英文字母,按照上述算法解密,否则原样输出,如果解密后不是字符,从'Z’、'y…循环解密。
时间: 2023-07-16 20:16:33 浏览: 117
下面是代码实现:
```c
#include <stdio.h>
int main() {
char c1, c2, c3, c4, c5;
printf("请输入五个字符:\n");
scanf("%c%c%c%c%c", &c1, &c2, &c3, &c4, &c5);
// 解密算法
c1 = c1 - 4;
if (c1 < 'A') {
c1 += 26;
}
c2 = c2 - 4;
if (c2 < 'A') {
c2 += 26;
}
c3 = c3 - 4;
if (c3 < 'A') {
c3 += 26;
}
c4 = c4 - 4;
if (c4 < 'A') {
c4 += 26;
}
c5 = c5 - 4;
if (c5 < 'A') {
c5 += 26;
}
printf("解密后的结果为:\n");
printf("%c%c%c%c%c\n", c1, c2, c3, c4, c5);
return 0;
}
```
如果要循环解密,只需要在解密算法中加上一个循环即可,如下所示:
```c
// 解密算法
c1 = c1 - 4;
while (c1 < 'A') {
c1 += 26;
}
c2 = c2 - 4;
while (c2 < 'A') {
c2 += 26;
}
c3 = c3 - 4;
while (c3 < 'A') {
c3 += 26;
}
c4 = c4 - 4;
while (c4 < 'A') {
c4 += 26;
}
c5 = c5 - 4;
while (c5 < 'A') {
c5 += 26;
}
```
阅读全文