请用C语言编写程序给输入的字符串加密,每个字母加密后在其之后的四个字母
时间: 2023-07-15 13:11:44 浏览: 110
以下是一个简单的实现,假设输入的字符串中只包含小写字母:
```c
#include <stdio.h>
#include <string.h>
#define SHIFT 4
void encrypt(char *str);
int main() {
char str[100];
printf("请输入要加密的字符串:");
fgets(str, 100, stdin);
encrypt(str);
printf("加密后的字符串:%s", str);
return 0;
}
void encrypt(char *str) {
int len = strlen(str);
for (int i = 0; i < len; i++) {
if (str[i] >= 'a' && str[i] <= 'z') {
str[i] = ((str[i] - 'a') + SHIFT) % 26 + 'a';
}
}
}
```
运行程序后,输入要加密的字符串,程序会输出加密后的结果。例如,输入字符串 "hello world",程序输出 "lipps asvph"。
相关问题
请用C语言编写程序给输入的字符串加密,每个字母加密后在其之后的四个字母,大小写字母都包括
以下是使用C语言编写的字符串加密程序:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char str[1000];
int i;
printf("Enter a string: ");
fgets(str, sizeof(str), stdin);
for (i = 0; str[i] != '\0'; i++) {
if (isalpha(str[i])) {
if (isupper(str[i])) {
str[i] = ((str[i] - 'A') + 4) % 26 + 'A';
} else {
str[i] = ((str[i] - 'a') + 4) % 26 + 'a';
}
}
}
printf("Encrypted string: %s", str);
return 0;
}
```
该程序首先从用户处获取一个字符串,然后对字符串中的每个字母进行加密。如果字母是大写字母,则将其转换为整数值,加上4,再将结果转换回字符。如果字母是小写字母,则使用相同的算法进行加密。最后,程序打印加密后的字符串。
用c语言编写一个程序能实现输入4个字符,将每个字符加4后转换成加密字符,如输入“Ab2c”则加密后的字符序列为“Ef6g”
你可以通过以下步骤用C语言编写一个简单的加密程序来实现这个功能:
```c
#include <stdio.h>
#include <string.h>
// 加密函数,将字符加上4并转换为ASCII码表示
char encrypt(char input) {
if (input >= 'a' && input <= 'z') { // 如果是小写字母
return ((input - 'a' + 4) % 26) + 'a'; // 加4并保持在字母范围内
} else if (input >= 'A' && input <= 'Z') { // 如果是大写字母
return ((input - 'A' + 4) % 26) + 'A'; // 同理处理大写字母
} else if (input >= '0' && input <= '9') { // 如果是数字
return (input + 4) % 10 + '0'; // 数字直接加4即可
}
// 对于非字母和数字的特殊字符,可以考虑原样返回或者忽略
return input;
}
int main() {
char input[5]; // 用于存储输入的四个字符,包括结束符'\0'
printf("请输入4个字符: ");
fgets(input, sizeof(input), stdin); // 读取用户输入
// 移除输入字符串末尾的换行符
input[strcspn(input, "\n")] = '\0';
// 遍历输入字符,加密并打印结果
for (int i = 0; i < strlen(input); i++) {
printf("%c", encrypt(input[i]));
}
// 结果输出后添加换行符
printf("\n");
return 0;
}
```
当你运行这个程序时,它会提示你输入4个字符,然后把每个字符加4并加密,输出新的字符序列。
阅读全文