#include<iostream>
#include<cstdio>
#include<cstdlib>
using namespace std;
char str[100];
char mp[100]={"ngzqtcobmuhelkpdawxfyivrsj"};
typedef struct snode
{
char data;
struct snode *next;
} LinkStrNode;
void StrAssign(LinkStrNode *&s,char cstr[])
{
LinkStrNode *r,*p;
s=(LinkStrNode *)malloc(sizeof(LinkStrNode));
r=s;
for (int i=0;cstr[i]!='\0';i++)
{ p=(LinkStrNode *)malloc(sizeof(LinkStrNode));
p->data=cstr[i];
r->next=p;r=p;
}
r->next=NULL;
}
void DispStr(LinkStrNode *s)
{
LinkStrNode *p=s->next;
while (p!=NULL)
{ printf("%c",mp[p->data-'a']);
p=p->next;
}
printf("\n");
}
int main(){
cout<<"输入原文串:";
cin>>str;
cout<<"加密解密如下:"<<endl;
printf("原文串:");
cout<<str<<endl;
printf("加密串:");
LinkStrNode *s;
StrAssign(s,str);
DispStr(s);
printf("解密串:");
cout<<str<<endl;
return 0;
}