每一个汉字的代码占用两个字节,因此可以通过交换这两个字节的前后顺序对汉字进行加密。设计一程序,它输入一汉字字符串,先对该字符串加密并显示加密后的效果,然后再解密并显示解密后的效果(解密后的效果应与输入的字符串相同)。
#include
<
string
.h
>
#include < stdio.h >
#include < stdlib.h >
int main()
... {
char test[]="这个是一个测试。";
char Encrypt[20]=...{0}, Decrypt[20]=...{0};
int i, j;
printf("The original string is: %s ", test);
//Encrypt
for(i=0; i<strlen(test); i+=2)
...{
Encrypt[i]=test[i+1];
Encrypt[i+1]=test[i];
}
printf("Encrypted: %s ", Encrypt);
//Decrypt
strcpy(Decrypt, Encrypt);
for(i=0; i<strlen(Encrypt); i+=2)
...{
Decrypt[i]=Encrypt[i+1];
Decrypt[i+1]=Encrypt[i];
}
printf("Decrypt: %s ", Decrypt);
printf(" ");
system("PAUSE");
return 0;
}
#include < stdio.h >
#include < stdlib.h >
int main()
... {
char test[]="这个是一个测试。";
char Encrypt[20]=...{0}, Decrypt[20]=...{0};
int i, j;
printf("The original string is: %s ", test);
//Encrypt
for(i=0; i<strlen(test); i+=2)
...{
Encrypt[i]=test[i+1];
Encrypt[i+1]=test[i];
}
printf("Encrypted: %s ", Encrypt);
//Decrypt
strcpy(Decrypt, Encrypt);
for(i=0; i<strlen(Encrypt); i+=2)
...{
Decrypt[i]=Encrypt[i+1];
Decrypt[i+1]=Encrypt[i];
}
printf("Decrypt: %s ", Decrypt);
printf(" ");
system("PAUSE");
return 0;
}