c语言:编写加密程序:由键盘输入明文,通过加密程序转换为密文并输出到屏幕上。算法:明文中的明文中的字母转换成其后的第4个字母,例如,A变成E(a变成e),Z变成D,非字母符号不变;同时将密文第两个字符之间插入一个符号“-”。例如,Face转换成密文J-e-g-i。 要求:在函数change中完成字母转换,在函数insert中完成增加“-”,用指针传递参数。
时间: 2024-02-01 22:16:45 浏览: 20
以下是实现该功能的C语言代码:
```c
#include <stdio.h>
#include <string.h>
void change(char *str) {
int i;
for(i = 0; i < strlen(str); i++) {
if(str[i] >= 'A' && str[i] <= 'Z') {
str[i] = (str[i] - 'A' + 4) % 26 + 'A';
}
else if(str[i] >= 'a' && str[i] <= 'z') {
str[i] = (str[i] - 'a' + 4) % 26 + 'a';
}
}
}
void insert(char *str, char ch) {
int i;
for(i = strlen(str) + 1; i >= 2; i--) {
str[i] = str[i - 1];
}
str[2] = ch;
}
int main() {
char str[100];
printf("请输入明文:");
scanf("%s", str);
change(str);
int i;
for(i = 1; i <= strlen(str); i++) {
printf("%c", str[i - 1]);
if(i % 2 == 0 && i != strlen(str)) {
printf("-");
}
else if(i == strlen(str)) {
printf("\n");
}
}
return 0;
}
```
程序的思路是先输入明文字符串,然后通过调用change函数将字符串中的字母转换成其后的第4个字母。接着,在insert函数中插入符号“-”。最后在主函数中输出密文字符串。需要注意的是,在输出密文字符串时,需要对第二个字符之间插入符号“-”,并且最后一个字符后面不需要插入符号“-”。