C 题目 将输入的结点数据反向输出,也要求要删除指定结点 看看我哪里错了,检查没错,但是不能运行

[复制链接]
查看11 | 回复10 | 2011-3-25 02:42:45 | 显示全部楼层 |阅读模式
#includeiostream
using namespace std;
struct node
{
int date;

struct node *next;
};
void main()
{
node *create();
void output(node *head);
node *del(node *head,int date);
node *head,*p;
int date;
head=create();
output(head);
cout\"请输入要删除的号:\";
cindate;
head=del(head,date);
output(head);
p=new node;
cout\"请输入号:\";
cinp-date;
output(head);
}
node *create()
{
node *head,*p1,*p2;
int n;
head=NULL;n=0;
p1=new node;
cinp1-date;
while(p1-date!=0)
{

n=n;

if(n==1)head=p1;
elsep2-next=p1;
p2=p1;
p1=new node;
cinp1-date;
}
p2-next=NULL;
return head;
}
node *del(node *head,int date)
{
node *p1,*p2;

if(head==NULL) cout\"链表为空\"endl;
else
{
p1=head;
while(p1-date!=date next!=NULL)
{
p2=p1; p1=p1-next;
}
if(p1-date==date)
{
if(head==p1)head=p1-next;
else p2-next=p1-next;

}
else
cout\"no found\"endl;
}
return head;
}
void output(node *head)
{
node *p;
p=head;
while(p!=NULL)
{
coutp-date\" \"endl;
p=p-next;
}
}
回复

使用道具 举报

千问 | 2011-3-25 02:42:45 | 显示全部楼层
<pre id=\"best-answer-content\" class=\"reply-text mb10\">楼主标题里说的不能运行是指什么?

反向输出其实也很简单,不知道有没有要求需要使用双向链表或者不能使用双向链表,其实你可以在输入的时候,每次新输入的值插在链表的表头就行了。这样输出的时候肯定是倒着输出的。
打个比方说,向弹夹里压子弹,越靠后压入的子弹越靠上。

类似的代码修改一下create()即可:

node *create()
{
node *head = NULL,*p1;
int data;

cindata;
while(data != 0)
{
p1 = new node;
p1-date = data;
p1-next = head;
head = p1;

cindata;
}

return head;
}

















<h4 class=\"ask\">追问





<pre class=\"replyask-text\" id=\"content-2584247\">这个比喻很好,理解了。。。但是我改了代码后,可以运行了,但是黑框里没跳出


请输入号:

请输入要删除


的号
而且输入数字后,按回车也没反应········为什么
回复

使用道具 举报

千问 | 2011-3-25 02:42:45 | 显示全部楼层
<pre class=\"replyask-text\" id=\"content-2584678\">呵呵,我只是修改了create,没有改动外面的代码,而且在我这里是可以运行的~ :)
如果还有问题,不妨多描述一下出了什么问题~
回复

使用道具 举报

千问 | 2011-3-25 02:42:45 | 显示全部楼层
<pre class=\"replyask-text\" id=\"content-2585685\">``````你能把我的原代码一起加进去运行吗······我看不出哪里有问题了,,请问你的QQ 号码是多少?下次不懂我想再请教你
回复

使用道具 举报

千问 | 2011-3-25 02:42:45 | 显示全部楼层
<pre class=\"replyask-text\" id=\"content-2585778\">我没动你别的函数包括main,你还用你的代码,但是找到create这个函数,替换成我写的这些就行。
回复

使用道具 举报

千问 | 2011-3-25 02:42:45 | 显示全部楼层
<pre class=\"replyask-text\" id=\"content-2585925\">替换了呀!检查可以通过,也可以运行,会出现个运行框,但是输入没反应···怎么回事呢
回复

使用道具 举报

千问 | 2011-3-25 02:42:45 | 显示全部楼层
<pre class=\"replyask-text\" id=\"content-2586132\">你都输入什么了?
按你之前的风格,没有任何输入提示,就是不断的输入整数,如果输入一个0则表示结束。
回复

使用道具 举报

千问 | 2011-3-25 02:42:45 | 显示全部楼层
<pre class=\"replyask-text\" id=\"content-2586635\">我把main函数的输入顺序改了一下,,可以运行了。。非常感谢!!!可以告诉我QQ号码吗?我想以后有困难了再请教你
回复

使用道具 举报

千问 | 2011-3-25 02:42:45 | 显示全部楼层
<pre class=\"replyask-text\" id=\"content-2586717\">baidu hi我就可以了。谢谢。
回复

使用道具 举报

千问 | 2011-3-25 02:42:45 | 显示全部楼层
<pre class=\"replyask-text\" id=\"content-2587253\">好吧,,谢谢你
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行