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\n", 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 }

结果:

转载于:https://www.cnblogs.com/maye426/p/9434177.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值