C语言加密练习:第一个字母变成第26个字母,第i个字母变成第(26-i+1)个字母。非字母字符不变。要求编程序将密码译回原文,并输出密码和原文。

Posted maye426

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言加密练习:第一个字母变成第26个字母,第i个字母变成第(26-i+1)个字母。非字母字符不变。要求编程序将密码译回原文,并输出密码和原文。相关的知识,希望对你有一定的参考价值。

 1 int Afan(char a);
 2 
 3 int main()
 4 
 5 {
 6 
 7 char arr[40] = {"aABX"};
 8 
 9 scanf("%s", arr);
10 
11 printf("原电文:%s
", arr);
12 
13 //加密电文
14 //注释:如对代码建议请联系QQ:466449822
15 char m_arr[40] = "aaa";
16 
17 printf("密电文:");
18 
19 for (int i = 0; i < strlen(arr) + 1; i++)
20 
21 {
22 
23 if ((arr[i] >65 - 1 && arr[i] < 90 + 1) || (arr[i] >97 - 1 && arr[i] < 122 + 1))
24 {
25 arr[i] = Afan(arr[i]);
26 
27 }
28 printf("%c", arr[i]);
29 
30 }
31 
32 while (1);
33 
34 return 0;
35 
36 }
37 
38  
39 int Afan(char a)
40 
41 { char over;
42 
43 char zm[27] = { A, B, ., ., Z };
44 if (a > 64 && a < 91)
45 {
46 for (int i = 65; i < 90 + 1; i++)
47 { int j;
48 j = i - 64;
49 zm[j] = i;
50 }
51 }
52 if (a > 96 && a < 123)
53 {
54 for (int i = 97; i < 122 + 1; i++)
55 {
56 int j;
57 j = i - 96;
58 zm[j] = i;
59 }
60 }
61   for (int i = 0; i < 27; i++)
62 {
63   if (a == zm[i])
64 
65 {
66    over = zm[26 - i + 1];
67 }
68 }
69    return over;
70 }

结果:

技术分享图片

以上是关于C语言加密练习:第一个字母变成第26个字母,第i个字母变成第(26-i+1)个字母。非字母字符不变。要求编程序将密码译回原文,并输出密码和原文。的主要内容,如果未能解决你的问题,请参考以下文章

26有一行电文,已按下面规律译成密码即第一个字母变成第26个字母,第I个字母变成第(26-i+1)

C程序设计 电文密码——有一行电文,已按下面规律译成密码

C语言练习_2用C语言实现凯撒密码加密解密

C 实战练习题目31

C 实战练习题目31

Java基础50道经典练习题(26)——求星期