题目

本题是谭浩强《C程序设计课后习题》第6章第12题。
题目:有一行电文,已按照下面规律翻译成密码:
A->Z a->z
B->Y b->y
C->X c->x
…。

即第1个字母编程第26个字母,第i个字母编程第(26-i+1)个字母,非字母字符不变,要求编程序将密码 译回原文,并输出密码和原文。


以下是本篇文章正文内容,欢迎朋友们进行指正,一起探讨,共同进步。——来自考研路上的lwj

一、解题思路

思路:
1,首先我们根据题目给出的规律得出以下编码公式:
2,26-(ch-’A/a’)-1
3,26是一共26个字母,(ch-’A/a’)是指从A/a开始数是正数第几个数,这样26-(ch-’A/a’)就等于与之相对应的倒数第几个数,为什么要-1?因为数组下标是从0开始,为了防止转变后下标越界,我们需要-1保持平衡。
4,编码和解码规则相同,将所给密码的每个字符区分大小写然后代入公式,注意,因为这个公式算出的是由正数第几个转变为倒数第几个,所以我们如果想正常输出的话还需要在其前面加上起始数A/a
5,得出最终公式为:
6,大写str=‘A’+(26 - (str- ‘A’) - 1);小写str=‘a’+ (26 - (str[i] - ‘a’) - 1);

二、代码部分

1.引入库

代码如下(示例):

#include<stdio.h>

2.主函数部分

代码如下(示例):

void main()
{char str[128] = { 0 };printf("请输入一串密码:");gets(str);printf("你输入的密码为:%s\n", str);int i=0;while (str[i]){if (str[i] >= 'A' && str[i] <= 'Z')str[i] = 'A'+(26 - (str[i] - 'A') - 1);else if (str[i] >= 'a' && str[i] <= 'z')str[i] ='a'+ (26 - (str[i] - 'a') - 1);i++;}printf("破译后的原文为:%s", str);
}

三、执行结果

输入:

请输入一串密码:I am LiWenJie

输出:

你输入的密码为:I am LiWenJie
破译后的原文为:R zn OrDvmQrv

题6.12:有一行电文,已按照下面规律翻译成密码: A->Z a->z B->Y b->y C->X c->x即第1个字母编程第26个字母,第i个字母编程第(26-i+1)个字母,非字母字符不变,要求相关推荐

  1. 【C语言】有一行电文,已按下面规律译成密码:A→ZB→Y b→yC→X c→x:即第1个字母变成第26个字母,第i个字母变成第(26一i+1)个字母,非字母字符不变。要求编程序将密

    #include<stdio.h> #define N 26 int main(){void jiami(char a[]); //函数声明 char str[N];printf(&quo ...

  2. c语言作业 密码翻译,C语言作业 有一行电文,以按下面规律译成密码

    C语言的凯撒加密Description 有一行电文,请将电文中所有字母按A→F,B→G,--,U→Z,V→A,W→B,X #includeintmain(){charc;while((c=getcha ...

  3. 有一行电文,按以下规律译成密码

    有一行电文,按以下规律译成密码(C语言) 题目要求:有一行电文,按以下规律译成密码:即第1个字母变成第26个字母,第i个字母变成第(26-i+1)个字母,非字母字符不变.要求编程序将密码译回原文,并输 ...

  4. 习题 6.12 有一行电文,已按下面规律译成密码:...即第1个字母变成第26个字母,第i个字母变成第(26-i+1)个字母,非字母字符不变。要求编程序将密码译回原文,并输出密码和原文。

    C程序设计(第五版) 谭浩强 习题6.12 题目描述 思路 答案 输出结果 更多题目 题目描述 有一行电文,已按下面规律译成密码:A→Z a→zB→Y b→yC→X c→x... ...即第一个字母变 ...

  5. 习题 5.11 有一行电文,已按下面规律译成密码:A-Z a-z即第一个字母变成第26个字母,第i个字母变成第(26-i+1)个字母。非字母字符不变。要求编程序将密码译回原文,并输出密码和原文。

    C++程序设计(第三版) 谭浩强 习题5.11 个人设计 习题 5.11 有一行电文,已按下面规律译成密码:A-Z a-z即第一个字母变成第26个字母,第i个字母变成第(26-i+1)个字母.非字母字 ...

  6. 有一行电文,已按下面规律译成密码: A →Z B→Y C→X …… a→z b→y c→x …… 即第一个字母变成第26个字母,第i个字母变成第(26-i+1)个字母,非字母字

    有一行电文,已按下面规律译成密码: A →Z B→Y C→X -- a→z b→y c→x -- 即第一个字母变成第26个字母,第i个字母变成第(26-i+1)个字母,非字母字符不变. 要求编程序将密 ...

  7. 有一行电文,已按下面规律译成密码: A →Z B →Y C →X …… a →z b →y c →x …… 即第一个字母变成第26个字母,第i个字母变成第(26-i+1)个字母,

    /*有一行电文,已按下面规律译成密码:A →Z B →Y C →X --a →z b →y c →x --即第一个字母变成第26个字母,第i个字母变成第(26-i+1)个字母,非字母字符不变.要求编程 ...

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

    有一行电文,已按下面规律译成密码: A-->Z   a--->z B--->Y  b--->y ... 即第一个字母变成第26个字母,第i个字母变成第(26-i+1)个字母.非 ...

  9. 密码电文翻译,输入一行电文,已按下面规律译成密码: A->Z a->z

    输入一行电文,已按下面规律译成密码: A->Z a->z B->Y b->y C->X c->x 即第1个字母变成第26个字母,第i个字母变成第(26-i+1)个字 ...

  10. 【C语言】有一行电文,已按下面规律译成密码:

    P166 12.有一行电文,已按下面规律译成密码: A-Z a-z B-Y b-y C-X c-x 即第一个字母变成第26个字母,第i个字母变成第(26-i+1)个字母.非字母字符不变.要求编程序将密 ...

最新文章

  1. android仿知乎按钮动效,Android仿知乎客户端关注和取消关注的按钮点击特效实现思路详解...
  2. Tomcat启动报404(eclipse)
  3. 微服务:实战从传统项目平滑过渡 - 笔记
  4. 用Cocos2dx开发棋牌游戏的观点解析
  5. 如何解决在使用ElementUI时发现有些控件是英文的
  6. 证书是用来改善与增强,而不是代替? --如何让钱主动来找你?
  7. 美国发布新的安全备忘录,提升关键基础设施的网络安全
  8. 关于“undefined reference to”错误
  9. Lightroom Classic CC 2019 for Mac(Lr CC 2019破解版)永久激活方法
  10. 微信小程序的一些开发限制
  11. IT码农哥放弃50万年薪:辞职卖咖喱凉皮
  12. 龟兔赛跑Description乌龟与兔子在马路上赛跑,马路边可以随地进行休息。
  13. SOME/IP与DDS对比及DDS测试策略和方案探讨
  14. 文本关键词的提取算法实验
  15. duplicate designator is not allowedC/C++(2906)
  16. 微信公众号数据2019_2019年9月原创公众号排行榜数据报告出炉
  17. java需要记住什么英文_JAVA英语面试题(苦涩的记忆)
  18. CobaltStrike使用-第五篇(Bypass UAC、CVE提权、Powerup提权)
  19. 实验9_2_身份证号码最后一位
  20. 华为畅玩版怎么升级android版本号,华为荣耀怎么查EMUI及系统版本

热门文章

  1. php计算macd,macd计算公式?MACD指标的原理是什么
  2. Python excel批量自动邮件发送
  3. 【一键激活win8.1系统】
  4. mp4播放器下载android,MP4视频播放器最新版下载_MP4视频播放器正式版_MP4视频播放器9.3-华军软件园...
  5. 如何在中国大陆三大运营商申请公网IPV4地址
  6. Let's encrypt 通配域名(二级, 三级)
  7. python合并单元格出现:‘MergedCell‘ object attribute ‘value‘ is read-only 如何处理
  8. easypoi excel:Cannot add merged region X to sheet because it overlaps with an existing merged region
  9. 杂记之BOOTLOAD和U-BOOT
  10. java汉字转拼音,pinyin4j简单介绍