c语言例译密码按一定规律将电文变成密码: 将字母A变为E、将字母a变为e,即变成其后的第四个字母,W将变成A。字母按上述规律转换,非字母字符不变。输入一行字符,输出相应密码。 WXYZABCD OHONWT
时间: 2024-10-16 08:11:57 浏览: 44
C语言入门习题:字母密码(不使用选择结构)
5星 · 资源好评率100%
这个任务要求我们编写一个C语言程序,用于对给定的字符串进行特定的字符替换加密。规则是将大写字母A变为E,小写字母a变为e,并保持其他字母不变。同时,将W替换为A,字母表循环进行。例如,X会变成Y,因为X在字母表里排第四;Z变成D,因为在Z之后就是A。
下面是一个简单的C语言示例代码:
```c
#include <stdio.h>
#include <ctype.h>
char encrypt(char c) {
if (isalpha(c)) {
if (isupper(c)) {
return ((c - 'A') + 4) % 26 + 'A';
} else {
return ((c - 'a') + 4) % 26 + 'a';
}
} else {
return c; // 非字母字符保持原样
}
}
int main() {
char input[100];
fgets(input, sizeof(input), stdin); // 从标准输入读取一整行字符
// 去掉换行符
input[strlen(input) - 1] = '\0';
for (int i = 0; input[i]; i++) {
printf("%c", encrypt(input[i]));
}
return 0;
}
```
在这个程序中,`encrypt`函数负责处理每个字符,如果是字母,则根据规则进行替换;如果不是字母,则直接返回。`main`函数则读取用户输入的字符串并应用加密规则。
运行此程序并输入"WXYZABCD OHONWT",输出将会是加密后的结果。
阅读全文