请编程序将:输入单词译成密码,密码规律是:用原来的字母后面的第4个字母代替原来的字母。

2024-12-02 16:14:23
推荐回答(1个)
回答1:

C语言程序:

#include 
#include 

#define MAX 100

int isValidate(char str[]);
int isLetter(char ch);
int isLow(char ch);
void encrypt(char source[], char dest[]);

void main()
{
char source[MAX];
char dest[MAX];

printf("input a string : ");
gets(source);


if(isValidate(source) == 0)
{
printf("error\n");
return;
}

if(strlen(source) > 20)
{
source[20] = '\0';
}

encrypt(source, dest);

printf("encrypted : %s\n", dest);
}

/* 判断字符串str是否合法 */
int isValidate(char str[])
{
int i, len;

len = strlen(str);

if(len <= 0)
{
return 0;
}

for(i=0; i {
if(isLetter(str[i]) == 0)
{
return 0;
}
}

return 1;
}

/* 判断字符ch是否是字母 */
int isLetter(char ch)
{
if((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z'))
{
return 1;
}
else
{
return 0;
}
}

/* 判断字符ch是否是小写字母 */
int isLow(char ch)
{
if(ch >= 'a' && ch <= 'z')
{
return 1;
}
else
{
return 0;
}
}

/* 加密字符串 */
void encrypt(char source[], char dest[])
{
int len = strlen(source);

for(int i=0; i {
if(isLow(source[i]) == 1)
{
dest[i] = (source[i] - 'a' + 4) % 26 + 'a';
}
else
{
dest[i] = (source[i] - 'A' + 4) % 26 + 'A';
}
}

dest[i] = '\0';
}


运行测试:

input a string : China
encrypted : Glmre