C语言简单解密
来源:互联网 发布:不醉不会 田馥甄 知乎 编辑:程序博客网 时间:2024/05/16 23:40
输入:
第一行包含一个整数N(1≤N≤1000),表示数据的组数。
每组数据包含两行:
第一行是加密过的信息(不超过1000-个字符)。
第二行是26个大写字母,依次对应字母表:第一个字母对应字母表里的A,第二个对应字母表里的B,以此类推。只会出现大写字母。加密信息中可能会有空格,空格在解密出来的信息中保留。
如:
2
HPC PJVYMIY
BLMRGJIASOPZEFDCKWYHUNXQTV
FDY GAI BG UKMY
KIMHOTSQYRLCUZPAGWJNBVDXEF
HPC PJVYMIY
BLMRGJIASOPZEFDCKWYHUNXQTV
FDY GAI BG UKMY
KIMHOTSQYRLCUZPAGWJNBVDXEF
输出:
对于每一组数据,输出一行解密信息。格式如下:
数据组数(从1开始),解密信息;以空格隔开,最后没有空格,换行符结束。
如:
1 ACM CONTEST
2 THE SKY IS BLUE
2 THE SKY IS BLUE
思路:
明文对应的是标准的ABCDEF...
密文对应的所给定的26个字母
#include<stdio.h>#include<malloc.h>const char f[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";void jiemi(char *m, const char *n);int main(){int n, i;char **p;char **a;scanf("%d", &n);getchar();p = (char **)malloc(sizeof(char *) * n);a = (char **)malloc(sizeof(char *) * n); for(i = 0; i < n; i++){a[i] = (char *)malloc(sizeof(char) * 1000); gets(a[i]);p[i] = (char *)malloc(sizeof(char) * 26);gets(p[i]);jiemi(a[i], p[i]);}for(i = 0; i < n; i++){printf("%d %s\n", i+1, a[i]);}free(a);free(p);return 0;}void jiemi(char *m, const char *n){int i, j, temp;for(i = 0; m[i] != '\0'; i++){j = 0;while(1){if(m[i] == ' '){break;}if(m[i] == f[j]){temp = (int)(f[j] - 'A');m[i] = n[temp];break;}j++;}}}
0 0
- C语言简单解密
- c语言简单加解密
- C语言实现简单文件加密解密
- 加密与解密:一个简单的C语言示例
- C语言编程:密码解密
- 初学C语言:电文解密
- C/C++/.NET 语言考试题(加密/解密)
- 【C/C++】:C++语言做加解密
- [C#]简单加密解密[利用反射获取加密解密类]
- 用C语言实现URL解密(urldecode)
- C语言 - ACM题目:解密信息
- C语言实现文件加密解密
- 凯撒加解密算法C语言实现
- AEC加解密算法c语言实现
- 巩固C语言(十二)----文件加解密
- C语言实现AES加密解密
- C语言直接对数据加密解密
- C语言文件加密解密软件
- 二叉树的镜像--递归和迭代分别实现
- qCon大会小结
- Linux下tar.gz文件的安装
- Maximum Absurdity
- java Web的常见问题
- C语言简单解密
- 一个简单GOLANG路由
- Loader异步装载器
- 杭州创业高峰论坛(阿里帮)参会小记
- Linux 软件包的安装与卸载
- Java中普通代码块,构造代码块,静态代码块区别及代码示例
- 好的开始
- 数据结构之栈和队列
- CSU 1620: A Cure for the Common Code (区间DP KMP预处理)