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)个字母。非字母字符不变。要求编程序将密码译回原文,并输出密码和原文。的主要内容,如果未能解决你的问题,请参考以下文章