电文加密的算法是:将字母A变成字母G,a变成g,B变成H,b变成h,依此类推,并且U变诚A,V变成B,等等。用c语言编写程序,从键盘输入一个电文字符,输出其相应的密码。
时间: 2023-05-20 21:02:17 浏览: 428
以下是用 C 语言编写的程序,可以实现电文加密的算法:
```c
#include <stdio.h>
int main() {
char plaintext, ciphertext;
printf("请输入一个电文字符:");
scanf("%c", &plaintext);
if (plaintext >= 'A' && plaintext <= 'Z') {
ciphertext = 'G' + plaintext - 'A';
if (ciphertext > 'Z') {
ciphertext -= 26;
}
} else if (plaintext >= 'a' && plaintext <= 'z') {
ciphertext = 'g' + plaintext - 'a';
if (ciphertext > 'z') {
ciphertext -= 26;
}
} else {
ciphertext = plaintext;
}
printf("加密后的密码为:%c\n", ciphertext);
return 0;
}
```
当输入一个电文字符后,程序会根据电文加密的算法,将其转换为相应的密码,并输出结果。如果输入的字符不是字母,则直接输出原字符。
相关问题
C语言编写电文加密的算法是:将字母 A 变成字母 G,a 变成g,B 变成H,b 变成h,依此类推, 并且 U 变成A,V 变成B,等等。从键盘输入一个电文字符,输出其相应的密码。
代码如下:
```c
#include <stdio.h>
int main() {
char c;
printf("请输入一个电文字符:");
scanf("%c", &c);
if (c >= 'A' && c <= 'Z') { // 大写字母
c = (c - 'A' + 6) % 26 + 'A'; // 加密
} else if (c >= 'a' && c <= 'z') { // 小写字母
c = (c - 'a' + 6) % 26 + 'a'; // 加密
} else {
printf("输入的不是字母!\n");
return 0;
}
printf("加密后的密码为:%c\n", c);
return 0;
}
```
注意:
1. 变换规则是将字母往后移动 6 个位置,要使用 `%` 取模运算符,否则会超出字母范围;
2. 输入的字符可能不是字母,需要进行判断,这里使用了 `if-else` 语句。
c语电文加密的算法是:将字母 A 变成字母 G,a 变成 g,B 变成 H,b 变成 h,依此类推,并且 U 变成 A,V 变成 B,等等。从键盘输入一个电文字符,输出其相应的密码。
#include<stdio.h>
#include<string.h>
int main(){
char plain_text[100]; //存储输入的明文
char cipher_text[100]; //存储加密后的密文
int i, len;
printf("请输入电文字符:\n");
scanf("%s", plain_text); //从键盘读入明文
len = strlen(plain_text); //获取明文的长度
for(i=0; i<len; i++){
if(plain_text[i] >= 'A' && plain_text[i] <= 'Z'){ //大写字母的处理方式
cipher_text[i] = 'G' + plain_text[i] - 'A'; //将明文转换为密文
if(cipher_text[i] > 'Z'){ //如果超过了字母Z,需要循环回到字母A
cipher_text[i] -= 26;
}
}else if(plain_text[i] >= 'a' && plain_text[i] <= 'z'){ //小写字母的处理方式
cipher_text[i] = 'g' + plain_text[i] - 'a';
if(cipher_text[i] > 'z'){
cipher_text[i] -= 26;
}
}else{
cipher_text[i] = plain_text[i]; //非字母的字符直接拷贝到密文中
}
}
cipher_text[len] = '\0'; //将密文的第len+1个字符赋值为结束符
printf("加密后的密文为:%s", cipher_text);
return 0;
}
阅读全文