编写一个数据加密程序,从键盘输入一个由字母,数字,空格组成的字符串,输出其对应的密文。加密规则是:将字符串中每个字符的ascii码值加100,C语言
时间: 2023-06-11 20:09:37 浏览: 193
以下是一个简单的实现:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LEN 100
int main() {
char input[MAX_LEN], encrypted[MAX_LEN];
int i;
printf("请输入要加密的字符串:\n");
fgets(input, MAX_LEN, stdin);
for (i = 0; i < strlen(input); i++) {
encrypted[i] = input[i] + 100;
}
printf("加密后的字符串为:\n%s", encrypted);
return 0;
}
```
代码中使用 `fgets` 函数读取输入字符串,遍历字符串中的每个字符,将其 ASCII 码值加上 100,得到密文。最后使用 `printf` 函数输出密文字符串。需要注意,密文字符串的长度可能会超过原字符串的长度,因此需要定义足够长的数组来存储密文字符串。
相关问题
编写一个数据加密程序,从键盘输入一个由字母、数字、空格组成的字符串,输出其所对应的密文。加密规则是:将字符串中每个字符的ASCII码值加100,并对加密的密文进行解密,C语言代码
可以使用如下代码实现上述功能:
```c
#include <stdio.h>
#include <string.h>
void encrypt(char *str);
void decrypt(char *str);
int main()
{
char str[100];
// 输入字符串
printf("请输入要加密的字符串:\n");
fgets(str, 100, stdin);
// 加密并输出密文
encrypt(str);
printf("加密后的字符串为:%s\n", str);
// 解密并输出明文
decrypt(str);
printf("解密后的字符串为:%s\n", str);
return 0;
}
// 加密函数
void encrypt(char *str)
{
int i;
for (i = 0; i < strlen(str); ++i)
{
if (str[i] != '\n')
{
str[i] += 100;
}
}
}
// 解密函数
void decrypt(char *str)
{
int i;
for (i = 0; i < strlen(str); ++i)
{
if (str[i] != '\n')
{
str[i] -= 100;
}
}
}
```
使用方法:编译并运行该程序,按照提示输入要加密的字符串,程序会输出加密后的密文和解密后的明文。其中加密函数 `encrypt()` 使用 ASCII 码值加 100 进行加密,解密函数 `decrypt()` 则使用 ASCII 码值减 100 进行解密。
python按照字母表排列顺序将明文中每个字母变换成其后第n个字母。n(n=1~25)被称作秘钥。 请编写程序,针对不同的输入字符串和移动位数,输出经过凯撒加密之后的字符串。 【输入形式】 第一个输入参数是移动的位数n,中间间隔一个空格之后,第二个输入参数是待加密的原文 字符串 【输出形式】 加密后的密文字符串。注意,只加密字母,且不改变字母大小写。待加密的字符串可能存在 比如"hello world"的形式,若与第一个参数一起以input的方式输入,在调用split()的 时候要注意,会将待加密字符串也一并分割了。split()方法有参数指定分割多少项,建议 采用,请上网搜索说明文档。 【样例输入】 5 NUDT 【样例输出】 SZIY 【样例说明】 输入参数中第一个参数'5'表示移动位数n=5,然后将第二个输入参数中每个字母都向后移动 5位,得到输出字符串。
n, s = input().split()
n = int(n)
res = ''
for c in s:
if c.isalpha():
# 大写字母
if c.isupper():
# ord(c)获取字符c的ASCII值,减去65得到该字母在字母表中的位置
# 加上n再取余,得到加密后的字母在字母表中的位置
# 加上65得到加密后的字母的ASCII值
# chr()将ASCII值转换为对应的字符
res += chr((ord(c)-65+n) % 26 + 65)
# 小写字母
else:
res += chr((ord(c)-97+n) % 26 + 97)
# 非字母字符直接添加
else:
res += c
print(res)
阅读全文