c语言编写程序,对输入字符密码进行加密输出,并解密显示。加密规则:对任一字符加上整数n(n为随机整数,1<=n<=10)后所得字符即为加密后字符。
时间: 2024-05-01 07:17:23 浏览: 110
可以的,这个问题属于程序设计方面的问题,我可以回答。下面是加密和解密的C语言程序示例:
```c
#include <stdio.h>
int main() {
char password[100];
int n;
printf("请输入要加密的密码:");
scanf("%s", password);
printf("请输入加密密钥n(1<=n<=10):");
scanf("%d", &n);
// 加密
for (int i = 0; password[i] != '\0'; i++) {
password[i] = (password[i] + n) % 127; // 对字符加上n并取模
}
printf("加密后的密码:%s\n", password);
// 解密
for (int i = 0; password[i] != '\0'; i++) {
password[i] = (password[i] - n + 127) % 127; // 对字符减去n并取模
}
printf("解密后的密码:%s\n", password);
return 0;
}
```
上面这段程序可以实现对输入的密码进行加密和解密,并输出结果。其中,加密的规则是将每个字符加上随机整数n(1<=n<=10)后取模,解密的规则是将加密后的字符减去n(即加上-n)后取模。
注意,这里使用了取模运算符%,保证加密后和解密后的字符都在可见字符范围内(ASCII码表中,可见字符的编码范围是32-126)。
阅读全文