思路:加密的方式是将字符串中每个字符加上它在字符串中的位置和一个偏移值5。
以字符串“microsoft”为例,第一个字符m在字符串中的位置为0,那么它对应的密文是
即r。
#include <stdio.h>
#include <string.h>
int main()
{
int result=1;
int i;
int count=0;
char Text[128]={'\0'};
char Cryptograph[128]={'\0'};while (1)
{
if (result==1)
{
printf("请输入要加密的明文:\n");
scanf("%s",&Text);
count=strlen(Text);
for (i=0;i<count;i++)
Cryptograph[i]=Text[i]+i+5;
Cryptograph[i]='\0';
printf("加密后的密文是:%s \n",Cryptograph);
}
else if (result==2)
{
count=strlen(Text);
for (i=0;i<count;i++)
Text[i]=Cryptograph[i]-i-5;
Text[i]='\0';
printf("解密后的明文是:%s \n",Text);
}
else if (result==3)
break;
else
printf("请输入正确命令符:\n"); printf(" 请输入: 1. 加密新的明文\n");
printf(" 2. 对刚加密的密文进行解密\n");
printf(" printf("请输入命令符:\n");
scanf("%d",&result);
}
return 0;
}