题目描述
先编写函数 EncryptChar, 按照下述规则将给定的字符 c 转化(加密)为新的字符"A" 转化 "B" "B" 转化为 "C"等等"Z" 转化为 "a","a" 转化为 "b",等等 "z" 转化为 "A",其它字符不加密。编写程序,加密给定字符串。
输入格式
输入为一行,表示转换前的字符串。
输出格式
输出仅一行,表示加密后的字符串。
根据你的需求调整
#include <stdio.h>
#include <ctype.h> // 需要用到toupper和tolower函数
char EncryptChar(char c) {
if (c >= 'A' && c <= 'Z') { // 大写字母
return (c - 'A' + 1) % 26 + 'a'; // 转换为小写字母
} else if (c >= 'a' && c <= 'z') { // 小写字母
return (c - 'a' + 1) % 26 + 'A'; // 转换为大写字母
} else { // 其他字符不加密
return c;
}
}
int main() {
char str[100]; // 假设输入的字符串不超过100个字符
fgets(str, 100, stdin); // 从标准输入读入字符串
for (int i = 0; str[i] != '\0'; i++) {
putchar(EncryptChar(str[i])); // 逐个字符加密并输出
}
return 0;
}
不知道你这个问题是否已经解决, 如果还没有解决的话: