C语言实现分组加密(求解求解😭)

输入一个字母组成明文字符串,并输入一个字母组成的密钥,对明文进行分组后与密钥进行移位加密,输入密文以及密钥可以进行解密
输入字符串:abcdef输入密钥:abc输出:bdfegi,输入的明文在分组时不足的部分要采用特殊字符进行标记进行处理。

你题目的解答代码如下:

#include<stdio.h>
#include<stdlib.h>
#include<string.h>

int main()
{
    int i,sl,pl,x;
    char str[100],pas[100];
    printf("输入一个字母组成的明文字符串:");
    gets(str);
    printf("输入一个小写字母组成密钥:");
    gets(pas);
    sl = strlen(str);
    pl = strlen(pas);
    for (i = 0; i < sl; i++)
    {
        x = pas[i%pl]-'a'+1;
        if (str[i] >= 'A' && str[i] <= 'Z')
            str[i] = (str[i] - 'A' + x) % 26 + 'A';
        if (str[i] >= 'a' && str[i] <= 'z')
            str[i] = (str[i] - 'a' + x) % 26 + 'a';
    }
    printf("%s",str);
    return 0;
}

img

如有帮助,望采纳!谢谢!