一、问题描述
输入一串字符,利用ascall码表对其进行加密处理,然后输出加密之后的字符
二、代码实现
代码如下:
#include <stdio.h>
#include <string.h>
void main()
{
int sz,i;
char ch[100] = { 0 };//初始化数组
printf("输入:");
gets(ch);
sz = sizeof(ch) / sizeof(ch[0]);//得到数组长度
printf("输出:");
for (i = 0; i < sz; i++)
{
if (ch[i] == 32 || ch[i] == 0)printf(" ");
else if (ch[i] >= 120 && ch[i] <= 122)printf("%c", ch[i] - 23);
else printf("%c", ch[i] + 3);
}
}
其实想要实现密码编译器问题并不难,只需要将核心问题----如何加密解决,那便是畅通无阻了。
其实加密过程很简单,只是将原ascall码值+3,但当字符为x~z时,由于+3后不再是字母,所以加了一句
这样也能让其得到的是字母。
三、注意事项
值得注意的是,数组设置成ch【100】目的是为了能够输入足够的长度,但一定要将其初始化为零。如果没有初始化,那么结果将会是下面这样
以上便是本次博客的内容了,简单介绍了下字符数组的密码编译器。