题目描述
将一段明文加密。加密的规则如下:将每个字符的ascii码的值减去24作为每个字符加密后的值,例如'a'的ascii码的值为97,那么加密后就变成了73。"73"就是'a'的密文。现在请你编写程序,对一段文字加密。请定义并使用如下函数: void encrypt(char ×plain, char ×cipher) { //把原文字符串plain加密后存入字符串cipher }
输入描述
输入一串字符串,只包含数字和字母,最长为200.
输出描述
输出加密后的字符串。
输入样例
zero12
输出样例
987790872526
#include <stdio.h>
void encrypt(char *plain, int *cipher) {
while (*plain != '\0') {
// 将每个字符的ascii码的值减去24作为加密后的值
*cipher = *plain - 24;
// 移动到下一个字符
plain++;
cipher++;
}
// 添加结束标志
*cipher = '\0';
}
int main() {
const int MAX_LENGTH = 200;
char plain[MAX_LENGTH];
int cipher[MAX_LENGTH];
// 输入字符串
fgets(plain, sizeof(plain), stdin);
plain[strcspn(plain,"\n")]='\0';
// 调用函数进行加密
encrypt(plain, cipher);
// 输出加密后的ASCII码
for (int i = 0; cipher[i] != '\0'; i++) {
printf("%d ", cipher[i]);
}
printf("\n");
return 0;
}