| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1621 人关注过本帖
标题:大家帮我看看 26个字母删除的操作,怎么只能删除一个呀``???
取消只看楼主 加入收藏
guitarliukai
Rank: 1
等 级:新手上路
帖 子:73
专家分:0
注 册:2004-12-5
收藏
 问题点数:0 回复次数:7 
大家帮我看看 26个字母删除的操作,怎么只能删除一个呀``???

#include <stdio.h> #define len sizeof(struct a) #define NULL 0

struct a {char lk; struct a *next ; };

main() {struct a *head,*p,*q,*r; int i; char ch;

head=p=(struct a *) malloc(len);

for(i=1;i<=26;i++) {(p->lk)=('a'+i-1); p->next=(struct a *)malloc(len); p=p->next;

} p->next=NULL; p=head;

while (p->next != NULL)

{ printf("%c ",p->lk); p=p->next; } printf("\n");

printf("input deleted zimu:");

scanf("%c",&ch); p=head; while(ch != '0') { if(head->lk==ch) {head=head->next; free(p); } else

while((p->lk != ch) && (p->next != NULL)) { q=p; p=p->next; }

if(p->lk==ch) {q->next=p->next; free(p);}

printf("\n"); p=head; while(p->next != NULL) {printf("%c ",p->lk); p=p->next; } printf("\n"); printf("input deleted zimu:"); scanf("%c",&ch);

} }

搜索更多相关主题的帖子: next struct 字母 head 
2005-04-08 17:43
guitarliukai
Rank: 1
等 级:新手上路
帖 子:73
专家分:0
注 册:2004-12-5
收藏
得分:0 
以下是引用神vLinux飘飘在2005-4-8 23:05:48的发言: 等等,请说清楚点,我根本就不明白你想实现什么而不能实现什么呀!
我想实现: 先 打印一行 a,b,c,d,e-----------------------,z LA 然后用 scanf 函数 接受一个字符 ,然后用这个字符 和LA比较,如果一样的话,就删除````

我录的歌 http://1680279./ 我现在打不开了????
2005-04-09 11:24
guitarliukai
Rank: 1
等 级:新手上路
帖 子:73
专家分:0
注 册:2004-12-5
收藏
得分:0 
是的``

刚学链表,老师就让做 ,26个字母的插入和删除````

我录的歌 http://1680279./ 我现在打不开了????
2005-04-09 11:59
guitarliukai
Rank: 1
等 级:新手上路
帖 子:73
专家分:0
注 册:2004-12-5
收藏
得分:0 
老是让我们做的26个字母的操作我先给大家说一下把`````````````````````````````````````````

首先 在 tc 的输出界面 先打印一行 a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z
                                                         input deleted letter:j

用户输入个 j 后                                a,b,c,d,e,f,g,h,i,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z
                                                           input deleted letter:a

                                                         b,c,d,e,f,g,h,i,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z
                                                         input deleted letter: 输入0后退出界面,回到编程窗口


 

我录的歌 http://1680279./ 我现在打不开了????
2005-04-09 12:07
guitarliukai
Rank: 1
等 级:新手上路
帖 子:73
专家分:0
注 册:2004-12-5
收藏
得分:0 
以下是引用神vLinux飘飘在2005-4-9 12:08:07的发言: 恩,很遗憾,我下午还要去上课,只能很不负责任的和你说看3-4楼的贴子,其实我自己都没看.不过既然别人写了你就必需看看,1是尊重别人的劳动成果2也可以从中吸取经验. 等下午回来如果你还希望我能解答的话我一定会尽自己的一份薄力的.
好的,你先去上课````` 我会看别人给我回复地````` 谢谢你了`````哈```````` 链表我用着有点儿迷``````不知道怎么回事,我昨天做了一下午,也没做出来```````` 是不是苯啊`````

我录的歌 http://1680279./ 我现在打不开了????
2005-04-09 12:15
guitarliukai
Rank: 1
等 级:新手上路
帖 子:73
专家分:0
注 册:2004-12-5
收藏
得分:0 

#include <stdio.h> #define len sizeof(struct a) #define NULL 0

struct a {char lk; struct a *next ; };

main() {struct a *head,*p,*q; int i; char ch;

head=p=(struct a *) malloc(len);

for(i=1;i<=26;i++) {(p->lk)=('a'+i-1); p->next=(struct a *)malloc(len); p=p->next;

} p->next=NULL;

p=head; while (p->next != NULL)

{ printf("%c ",p->lk); p=p->next; } printf("\n");

p=head; printf("input deleted letter"); scanf("%c",&ch); while(p->lk != ch && p->next != NULL) p=p->next; q=p; p=q->next; free(q); while (p->next != NULL)

{ printf("%c ",p->lk); p=p->next; } printf("\n");

} 大家看看这段程序`````` 我想输入 b后 显示为 a,c,d,e,f,g````````````````z 可是,却是 c,d,e,f,g,h,````````````````z 该怎么改改啊```


我录的歌 http://1680279./ 我现在打不开了????
2005-04-09 16:32
guitarliukai
Rank: 1
等 级:新手上路
帖 子:73
专家分:0
注 册:2004-12-5
收藏
得分:0 
我写的程序没头接点``

我录的歌 http://1680279./ 我现在打不开了????
2005-04-09 17:34
guitarliukai
Rank: 1
等 级:新手上路
帖 子:73
专家分:0
注 册:2004-12-5
收藏
得分:0 

#include <stdio.h> #define len sizeof(struct a) #include <malloc.h>

struct a {char lk; struct a *next ; };

main() {struct a *head,*p,*q,*s; int i; char ch; head=p=(struct a *) malloc(len); for(i=1;i<=26;i++) { (p->lk)=('a'+i-1); p->next=(struct a *)malloc(len); p=p->next;

} p->next=NULL;

p=head; while (p->next != NULL)

{ printf("%c ",p->lk); p=p->next; } /* printf("\n"); */

q=p=head; printf("\ninput deleted letter:"); scanf("%c",&ch); while(ch != '0') { q=p=head;

while(p->lk != ch && p->next != NULL) {q=p; p=p->next;} if(p==head) { head=head->next;free(p); } else { if(p->lk == ch)

{ q->next=p->next; free(p) ; } else printf("can't find it"); }

q=p=head; printf("\n"); while (p->next != NULL)

{ printf("%c ",p->lk); p=p->next; } /* printf("\n"); */

q=p=head;

printf("\n2:input deleted letter"); fflush(stdin); scanf("%c",&ch); }

p=head; while(p->next != NULL) {printf("%c",p->lk); p=p->next;}

q=p=head; 给修改一下我这蓝字的程序`````````插入的条件错没````??? printf("\ninput insert letter"); /*insert */ fflush(stdin); scanf("%c",&ch);

while(ch != '0') { q=p=head; while(p->lk < ch && p->next != NULL) { q=p; p=p->next;}

if(p==head) { s=(struct a *) malloc(len); s->lk=ch; s->next=head; p=s; }

else { if (p->lk == ch) { printf("inserted is exist"); } else {s=(struct a *) malloc(len); s->lk=ch; s->next=p; q->next=s; p=head;}

} printf("\ntest %c\n",p->next->lk);

while(p->next != NULL) {printf("%c",p->lk); p=p->next;} p=head; printf("\n2insert a letter");

fflush(stdin); scanf("%c",&ch);

}

}


我录的歌 http://1680279./ 我现在打不开了????
2005-04-10 10:29
快速回复:大家帮我看看 26个字母删除的操作,怎么只能删除一个呀``???
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024632 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved