【C语言及程序设计】项目1-36-2:转圈加密

问题描述:https://blog.csdn.net/sxhelijian/article/details/44159363

 1 #include "stdafx.h"
 2
 3 int main()
 4 {
 5     char c(‘\0‘);
 6
 7     while (c != ‘\n‘)
 8     {
 9         //c = getchar();
10         scanf_s("%c", &c);
11
12         //加密的情况
13         if (
14             (c < 120 && c > 96)
15             ||
16             (c > 119 && c < 123)
17             ||
18             (c < 87 && c > 63)
19             ||
20             (c > 86 && c < 90)
21             )
22         {
23             //小写字母加密
24             if (c < 120 && c > 96)
25             {
26                 putchar(c + 4);
27             }
28             if (c > 119 && c < 123)
29             {
30                 putchar(c - 120 + 98);
31             }
32
33             //大写字母加密
34             if (c < 87 && c > 63)
35             {
36                 putchar(c + 4);
37             }
38             if (c > 86 && c < 90)
39             {
40                 putchar(c - 87 + 65);
41             }
42         }
43         //其余情况不加密
44         else
45         {
46             putchar(c);
47         }
48     }
49
50     return 0;
51 }

感想:

code看似只能逐个字符(character)输入加密;

但因为缓冲区的存在,code在结果上实现了整个字符串(string)的加密/转换;

=

原文地址:https://www.cnblogs.com/miyazakehime/p/9129926.html

时间: 2024-11-08 20:31:06

【C语言及程序设计】项目1-36-2:转圈加密的相关文章

C语言零基础项目驱动式学习第一天

引言: 智能手机(Smart Phone)是一种运算能力及功能比传统手机更强的手机.目前的操作系统基本上有以下几种: 1. Symbian Os 众所周知塞班隶属于NOKIA,Symbian开发之初的目标是保证在较低资源的设备上能长时间的运行,这导致了塞班的应用程序开发有着较为陡峭的学习路线,开发成本高,但是程序的运行的效率很高> 2.Android 开源, 联盟,Android凝聚了几乎遍布全球的力量,这是Android形象及声音能够被传到全球移动互联网市场每一个角落的根本原因.不过, 1).

iOS开发项目篇—36封装微博业务

iOS开发项目篇—36封装微博业务 一.简单说明 1.请求参数面向模型 2.请求结果面向模型 3.对控制器来说应该屏蔽业务细节.不让控制器关心(知道)业务细节,它只需要知道自己在做某个业务 @通过一个专门的业务处理类:处理微博业务细节 说明: 业务:加载新的微博首页数据 实现:给新浪服务器发送一个GET请求 业务:加载更多的首页微博数据 实现1:给新浪服务器发送一个GET请求 实现2:去沙盒中加载以前离线缓存的微博数据  二.实现 1.新建一个微博业务处理类,继承自NSObject 微博业务处理

C语言零基础项目驱动式学习第四天

//类型修饰符  数组名[数组元素个数] = {初始化}; //定义数组的时候[]中必须是常量表达式, 不可以是变量; /* int age[5] = {21, 18, 25, 20, 18}; int array[10] = {0};//代表数组中有10个元素, 每个都是0; int array1[8] = {1};//代表数组中有8个元素,第一个是1,其余的为0; int age2[2 + 3] = {0}; */ //定义数组和使用数组的最大区别是, 前面是否有类型修饰符 //使用数组元素

C语言零基础项目驱动式学习第二天

//BOOL 类型是一种非真即假的数据类型,取值只有YES和NO, //BOOL 其实是OC中得数据类型,在C语言中,认为非0即为真. //BOOL 类型规定的存储空间为一个字节. //    BOOL a = YES; //    BOOL b = NO; //    printf("a = %d, b = %d\n", a, b); //    int a = 15, b = 18; //    BOOL c = a > b; //    printf("c = %

C语言零基础项目驱动式学习第三天

一 while循环二do   while循环三 for循环for循环的执行顺序用如下表达式: for(expression1;expression2;expression3)        循环变量初值; 循环条件; 循环变量增量  {                expression4; }       执行的顺序应该是: 1)第一次循环,即初始化循环.      首先执行表达式expression1(一般为初始化语句):再执行expression2(一般为条件判断语句),判断express

WinForm多语言版本实战项目演练

一.课程介绍 关于如何实现"WinForm多语言版本"网上有很多实现技术方案,可以说是"琳琅满目","包罗万象".俗话说的好:一千个读者就有一千个哈姆雷特!如果您工作中恰好也遇到这种开发需求,但是为了一个自上手简单.维护方便.扩展性强的WinForm多语言版本技术方案而感到烦恼的话,那么很高兴恭喜你看到了阿笨的本次分享课程:阿笨结合的是自己在实际工作中遇到真实项目案例,特别的总结并且分享出来给大家,从而避免重复造轮子这种事情. 如果您对本次分享&

Java小项目之:文件的加密与解密!再也不怕存的小电影被别人发现了!

Java小项目之:文件的加密与解密!再也不怕存的小电影被别人发现了!今天带来的java小项目是加密解密系统,再也不怕别人偷看自己的电脑了,也可以正大光明的存小电影了.减少借别人电脑被看隐私的尴尬,从这个项目开始!界面展示: 部分代码展示:package wt.diy.encryption.gui; import java.io.File; import javax.swing.JFileChooser;import javax.swing.JFrame;import javax.swing.JO

第四周《C语言及程序设计》实践项目26 实现线性表基本操作的函数

[项目1-有序数组中插入数据(函数版)] /* * Copyright (c) 2016, CSDN学院 * All rights reserved. * 文件名称:[项目1-有序数组中插入数据(函数版)].cpp * 作 者:张易安 * 完成日期:2016年 9 月 9 日 * 版 本 号:v1.0 * * 问题描述: 有一个足够"大"的数组a,其中已经存储了n个呈升序排列的数据.调用函数insert(a, n, m), * 可以将数m插入到a中的合适位置,使其仍然保持升序,并且返回

【C语言及程序设计】项目1-26-2&amp;3&amp;5:成绩等级 &amp; 分段函数求值switch语句版 &amp; 个人所得税计算器switch语句版

switch语句常用于解决多分支.分段问题,该语句的关键就在于将具体问题中的分段.分支条件转化为常量constant. 首先,一定要理解switch语句是如何执行的: 项目1-26-2:成绩等级 1 /* 成绩等级(switch).cpp: 2 问题描述:给出一百分制成绩,要求输出成绩等级'A','B','C','D','E'.90分以上为'A',80-89分为'B',70-79分为'C',60-69分为'D',60分以下为'E'. 3 */ 4 5 #include "stdafx.h&quo

C语言及程序设计 实践项目——C语言程序初体验

[项目1-输出点阵图] 编一个程序,用你的姓名读音首字母,组成类似的趣图 提示:printf("--\n");语句会输出双引号中的内容,'\n'完成换行[参考解答] [项目2-完成简单计算] (1)编程序,输入长方形的两边长a和b,输出长方形的周长和面积 提示:边长可以是整数也可以是小数:实现乘法的运算符是*[参考解答] (2)编程序,输入两个电阻R1和R2的阻值,求它们并联后的阻值R 提示:计算公式为r=1/(1/r1+1/r2)):电阻值为浮点数[参考解答] (3)输入摄氏温度值(