1173:密码解密(指针专题)
题目描述
有加密当然也有解密啦。那我们来解密吧。已知明文中只有数字和字母,
且加密的规则如下:将每个字符的ascii码的值减去24作为每个字符加密过后的密文,
例如’a’的ascii码的值为97,那么加密后就变成了73。"73"就是’a’的密文。
所以,若密文是“757392”,则解密后的原文是“cat”。现在请你编写程序,将一段密文解密为原文。
请定义并使用如下函数
void decrypt(char *cipher, char *plain)
{
//将密文cipher解密后将明文存入plain
}
输入
输入一串字符串,最长为200。
输出
输出解密后的原文。
样例输入
987790872526
样例输出
zero12
#include <stdio.h>
#include <stdlib.h>void decrypt(char *cipher, char *plain);int main()
{char *str, *ptr;str = (char *)malloc(200*sizeof(char));ptr = (char *)malloc(100*sizeof(char));gets(str);decrypt(str, ptr);puts(ptr);return 0;
}void decrypt(char *cipher, char *plain)
{
///将密文cipher解密后将明文存入plainint j = 0;for(int i = 0; cipher[i] != '\\0'; ){plain[j++] = (cipher[i]-'0')*10+(cipher[i+1]-'0') + 24;i = i+2;}plain[j] = '\\0';
}
注意:
1> plain[i]+ ’ 0 ’ 就是指将plain[i]转变为字符型
cipher[i] - ’ 0 ’ 就是指将cipher[i]转变为整型
2> 1171:加密(指针专题)https://editor.csdn.net/md/?articleId=129959926