为了账号安全,请及时绑定邮箱和手机立即绑定

不明白错在哪里?输出字符串结果是个“?”求解

不明白错在哪里?输出字符串结果是个“?”求解

ppgn 2017-05-19 16:17:45
设单链表的表头指针为h,结点结构由data和next两个域构成,其中data域为字符型。写出算法dc(h,n),判断该链表的前n个字符是否中心对称 #include<stdio.h> #include<stdlib.h> typedef struct node{ char data; struct node *next; }LinkNode,*LinkList; LinkList initList(); LinkList createList(LinkList h); int dc(LinkList h,int n); void main() { int n,a; scanf("%d",&n); LinkList h; h=initList(); createList(h); a=dc(h,n); if(a==0) printf("No"); if(a==1) printf("Yes"); } int dc(LinkList h,int n) { LinkList p; char s[10]; int i=1; int j; p=h->next; for(i=1;i<=n/2;i++) { s[i]=p->data; p=p->next; } s[i]='\0'; j=i-1; if(n%2==1) { p=p->next; } for(i=j;i>0;i--) { if(p->data==s[i]) { p=p->next; } else break; } if(i!=0) { return 0; } else { return 1; } } LinkList initList() { LinkList p; p=(LinkList)malloc(sizeof(LinkNode)); p->next=NULL; return p; } LinkList createList(LinkList h) { LinkList p,rear; char a; a='0'; rear=h; /*增加尾指针*/ while(a!=' ') { scanf("%c",&a); p=(LinkList)malloc(sizeof(LinkNode)); p->data=a; p->next=rear->next; rear->next=p; rear=p; /* 尾插结点*/ } return h; }
查看完整描述

目前暂无任何回答

  • 0 回答
  • 0 关注
  • 1114 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号