用C语言写代码输入一行英文字符,对其进行加密。规则为: A->Z,B->Y,C->X,…… a->z,b->y,c->x,…… 即第1个字母变成第26个字母, 第i个字母变成第(26-i+1)个字母, 非字母则字符不变。
时间: 2024-10-18 08:19:34 浏览: 48
C语言网基础题题解汇总(含解题思路和注意要点)
你可以使用C语言编写一个简单的程序来实现这个字符加密规则。这里是一个基本的示例:
```c
#include <stdio.h>
#include <ctype.h>
char encrypt(char input) {
if (isalpha(input)) { // 检查是否为字母
if (input >= 'A' && input <= 'Z') { // 大写字母
return ((input - 'A' + 25) % 26) + 'A';
} else if (input >= 'a' && input <= 'z') { // 小写字母
return ((input - 'a' + 25) % 26) + 'a';
}
}
return input; // 非字母字符保持不变
}
int main() {
char encrypted[100];
fgets(encrypted, sizeof(encrypted), stdin); // 输入一行字符串
for (size_t i = 0; encrypted[i] != '\n'; i++) {
encrypted[i] = encrypt(encrypted[i]);
}
encrypted[i] = '\0'; // 结束行尾
printf("Encrypted string: %s\n", encrypted);
return 0;
}
```
在这个程序中,`encrypt`函数负责处理单个字符的加密,`main`函数通过`fgets`获取用户输入并逐个字符加密。注意,因为`fgets`会包括换行符,所以在打印结果前需要删除它。
运行这个程序后,当你输入一行英文字符,它将按照给定的规则进行加密并显示结果。
阅读全文