第1个回答 2019-01-04
#include<stdio.h>
#include<stdlib.h>
void Encrypt(char *p, int offset)
{
char *q = p + strlen(p);
offset %= 26;
while(p != q){
if(*p >= 'A' && *p <= 'Z'){
*p += offset;
if (*p > 'Z')
*p -= 26;
}else if(*p >= 'a' && *p <= 'z'){
*p += offset;
if(*p > 'z')
*p -= 26;
}
p++;
}
}
void Decrypt(char *p, int offset)
{
char *q = p + strlen(p);
offset %= 26;
while(p != q){
if(*p >= 'A' && *p <= 'Z'){
*p -= offset;
if (*p < 'A')
*p += 26;
}else if(*p >= 'a' && *p <= 'z'){
*p -= offset;
if(*p < 'a')
*p += 26;
}
p++;
}
}
int main()
{
char s[] = "Can you come here";
printf("%s\n", s);
Encrypt(s, 3);
printf("%s\n", s);
Decrypt(s, 3);
printf("%s\n", s);
system("pause");
return 0;
}