c语言编写一个程序,包含主、子函数,子函数内容对字符串数组进行加密(多个子函数多个加密方式),主函数用于读取外部输入内容,调用子函数、打印加密结果
时间: 2024-11-30 19:22:24 浏览: 53
在C语言中,我们可以创建一个简单的程序,该程序包括一个主函数和多个子函数,其中一个子函数负责加密字符串数组。这里我们假设我们有两个加密方法:简单替换和 Caesar 密码。下面是一个示例程序结构:
```c
#include <stdio.h>
#include <string.h>
// 简单替换加密函数
void encrypt_replace(char* input, char* output) {
int len = strlen(input);
for (int i = 0; i < len; ++i) {
output[i] = ((input[i] + 3) % 26) + 'A'; // 加密示例,这里加3作为替换规则
}
}
// Caesar密码加密函数
void encrypt_caesar(char* input, char* output, int shift) {
int len = strlen(input);
for (int i = 0; i < len; ++i) {
if (isalpha(input[i])) { // 只处理字母部分
output[i] = ((input[i] - 'A' + shift) % 26) + 'A';
} else {
output[i] = input[i]; // 非字母字符保持不变
}
}
}
// 主函数
int main() {
char plaintext[100], ciphertext[100];
printf("请输入原始字符串:");
fgets(plaintext, sizeof(plaintext), stdin); // 从用户获取输入并去除换行符
// 示例:调用两个子函数
encrypt_replace(plaintext, ciphertext);
printf("\n替换加密后的字符串:%s\n", ciphertext);
encrypt_caesar(ciphertext, ciphertext, 3); // 对第一个加密结果再次加密
printf("\nCaesar密码加密后的字符串:%s\n", ciphertext);
return 0;
}
```
在这个例子中,主函数`main()`首先读取用户的输入,并将其传递给`encrypt_replace`函数进行初始加密。然后,它将结果传递给`encrypt_caesar`函数进行进一步加密。注意,实际应用中可以根据需要添加更多的加密子函数。
阅读全文
相关推荐
















