目录

简介:

题目要求:

代码段:

上机演示:


简介:

给定任意数值偏移,将字母表中的A~Za~z0~9扩展为大循环,形成AB~Zab~z01~9AB~Z..为基础的链,用以进行映射,形成密文。

题目要求:

  1. 屏幕打印输出提示:输入偏移(允许负数)。

  2. 获得输入偏移。

  3. 屏幕打印输出提示:输入字符(允许大写字母、小写字母、数字、","、".")。

  4. 如果输入的不符合要求字符,提示并重新要求输入。

  5. 根据凯撒加密原理,将输入的字符映射为密文(“.”和“,”不变),打印输出。

  6. 要求循环输入,直到输入自定义的特殊符号为正(如遇到“\”为正)。

代码段:

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
FILE* fp;
char a[]="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
int b,i,j=0;
char d;
char f;
void xieru(char e,int g)
{fp=fopen("kk.txt","a");fputc(e,fp);fclose( fp );
}
void duchu()
{fp=fopen("kk.txt","r");while((f=fgetc(fp))!=EOF){printf("%c",f);}fclose( fp );
}
int main()
{
fp=fopen("kk.txt","w");
fclose( fp );
printf("\n请输入偏移:");
scanf("%d",&b);
while(1)
{
printf("请输入字符:");
scanf(" %c",&d);
j++;
for(i=0;i<63;i++)
{if(a[i]==d){i=i+b;if(i<0){for(;i<0;i+=62);}if(i>=62){for(;i>=62;i-=62);}d=a[i];xieru(d,j);break;}
}if(i==63){switch(d){case ',':xieru(',',j);continue;case '.':xieru('.',j);continue;case '\\':printf("结束输入\n");j--;break;default:printf("输入错误");j--;continue;}}else continue;break;
}
duchu();
return 0;
}

上机演示:

凯撒密码,可输入任意长度字符串进行转换相关推荐

  1. c语言输入任意长度字符串,读取不定长字符串输入

    C语言通常使用scanf处理输入,如果要读取字符串,那么就需要定义一个字符数组(char[]).可是,如果数组定义长度不足,就可能发生溢出. 在C语言里有个可以用来读取字符的函数(getchar),我 ...

  2. Python凯撒密码

    Python凯撒密码 设置变量储存字母字符串 text = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz' 循环设置 while True ...

  3. python凯撒密码加密写入文件_Python用户名密码登录系统(MD5加密并存入文件,三次输入错误将被锁定)及对字符串进行凯撒密码加解密操作...

    #-*- coding: gb2312 -*-#用户名密码登录系统(MD5加密并存入文件)及对字符串进行凯撒密码加解密操作#作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/k ...

  4. Python 零基础入门到实战(一)笔记:内置对象、浅拷贝、深拷贝、计算圆面积、凯撒密码、英文大小写转换、输入国家打印出国家名和首都、输入数字英文输出、统计句子中的字母数量、猜随机数

    Python入门到实战(一) 为什么写这篇文章 Part 1 入门部分 什么是编程语言? Python的优势 目前应用 特点 Part 2 6种内置对象 1 整数.浮点数 2 字符串 3 列表 4 元 ...

  5. C语言字符串练习-凯撒密码

    题目要求: 凯撒密码是罗马扩张时期朱利斯•凯撒(Julius Caesar)创造的,用于加密通过信使传递的作战命令,其原理很简单,就是通过将字母表中的字母移动一定位置而实现加密.例如,每个字母按字母表 ...

  6. 使用凯撒密码对字符串进行加密解密

    实验题目:字符串加密 键盘输入一个原始字符串作为明文,然后使用加密方法加密,再对加密字符串进行解密.样例如下图,加密方法自定,完成其功能并测试. public class S5_1 {public s ...

  7. Python编写程序,利用“凯撒密码”方案,实现对用户输入文字的加密操作

    实现该程序本人进行很多次的改进测试,终于达到了理想的预期,该程序对用户输入的字符串进行凯撒密码方案加密,用户输入的必须是数字字母的组合或者纯数字或者纯字母,其他输入均为非法输入. 凯撒密码的原理: 凯 ...

  8. 【C基础练习题】Week9:凯撒密码 | 按空格切分字符串 | 单词折半拆分

    目录 第一题:凯撒密码 第二题:按空格切分字符串 第三题:单词折半拆分 第一题:凯撒密码 [百度百科]在密码学中,恺撒密码(英语:Caesar cipher),或称恺撒加密.恺撒变换.变换加密,是一种 ...

  9. java密码框转字符串_实现汉字的凯撒密码(内容包括:去掉字符串中的转义字符、汉字的unicode转换)...

    实验内容: 选择合适的秘钥,利用上述三个算法:熟悉恺撒密码.双重置换密码.一次一密密码算法.加密如下明文: 大风起兮云飞扬, 威加海内兮归故乡, 安得猛士兮守四方. <大风歌>--刘邦 3 ...

最新文章

  1. 单链表-逆置单链表(头插法且双指针)
  2. shell script
  3. Windows过滤驱动程序的概念
  4. android 日历仿IOS,基于Android week view仿小米和iphone日历效果
  5. caffe与tensorflow框架下卷积的维度计算与一致性证明
  6. jq 正则判断邮箱_Python正则15分钟入门
  7. 微信小程序|开发实战篇之九-image-picker图片选择器组件及其子组件
  8. 晨哥真有料丨为什么女生从来不主动找你聊天
  9. 代码审计之CVE-2017-6920 Drupal远程代码执行漏洞学习
  10. Cmd打开Java软件
  11. go mysql stmt exec_Go语言操作MySQL
  12. 云计算 码率适配限速_5G 成熟后,带宽足够且云计算力够大,会不会对 PC 的升级需求放缓?...
  13. 海康GB28181协议服务器怎么配置,GB/T28181国标流媒体服务器在海康平台上进行级联配置步骤总结...
  14. 计算机网络---网卡,交换机和路由器|CSDN创作打卡
  15. android 判断 飞行模式,Android 判断飞行模式的状态
  16. windows系统下的文件长名和文件短名
  17. Pytorch实现EfficientNet
  18. TCC(新加坡太一国际数字交易所):升值万倍的数字资产 成就多少亿万豪
  19. 美化滚动条的一个插件 vue3-perfect-scrollbar
  20. “一万小时定律”:只要你在任何一件事情上花1万小时来练习,就会成为大师[转载]

热门文章

  1. 深入浅出boot2.0第六章 数据库事务处理 隔离级别 传播行为
  2. python 降低图片分辨率的两种方法
  3. canvas实现图片缩放+涂鸦
  4. Excel シートインポート、Excel シートエクスポート
  5. php 环比计算公式,详情
  6. 4.STM32F407之HAL库——按键
  7. 第一章 python初窥 课后练习题
  8. 固网服务器win7系统驱动,固网HU-1608n驱动
  9. 虚拟创业云|宝妈和大学生兼职和手机网赚兼职的任务平台大全
  10. 如何从AD中彻底删除Skype For Business(下篇)