#includecstdio#includecstdlib#includecstring#includestdlib.h#defineLENsizeof(structnode)#defineMAX147structnode{charcc;structnode*next;};intjudge(structnode*head,intlen){structnode*top,*p1,*p2;top=NULL;p1=head-next;for(inti=0;ilen/2;i++){p2=(structnode*)malloc(LEN);p2-cc=p1-cc;p2-next=top;top=p2;p1=p1-next;}if(len%2==1)p1=p1-next;p2=top;for(i=0;ilen/2;i++){if(p2-cc!=p1-cc)break;top=p2-next;p1=p1-next;p2=top;}if(!top)return1;elsereturn0;}intmain(){intn=0;charstr[MAX];structnode*head,*p;head=p=(structnode*)malloc(LEN);head-next=p-next=NULL;printf(请输入一个字符串:\n);gets(str);intlen=strlen(str);while(nlen&&str[0]!='\n'){p=(structnode*)malloc(LEN);p-cc=str[n];p-next=head-next;head-next=p;n++;}intflag=judge(head,len);if(flag)printf(%s是对称的!\n,str);elseprintf(%s不是对称的!\n,str);system(pause);return0;}经过codeblocks检验,完美运行——————adam如果提示error:namelookupofichangedforisoforscoping则在错误行输入inti就ok。