永发信息网

求高手改正数据结构程序

答案:1  悬赏:20  手机版
解决时间 2021-07-19 01:22
  • 提问者网友:嗝是迷路的屁
  • 2021-07-18 14:38

#define DATATYPE2 char
typedef struct node
{
DATATYPE2 data;
struct node *next;
}LINKLIST;
#include <stdio.h>
void main()
{
LINKLIST *head=NULL,*t,*p;
int r=1,b;
scanf("%d",&b);
while(b!=0)
{t=(LINKLIST*)malloc(sizeof(LINKLIST));
t->data=b;
t->next=head;
head=t;

scanf("%d",&b);}
if((t->data)%2==0)
{p=(LINKLIST*)malloc(sizeof(LINKLIST));
p->next=t->next;
free(t);
}
else
r=0;
return r;
}
目的是创建单链表并输出,删除偶数项后再输出

最佳答案
  • 五星知识达人网友:人類模型
  • 2021-07-18 16:09
#define DATATYPE2 char
typedef struct node
{
DATATYPE2 data;
struct node *next;
}LINKLIST;
#include <stdio.h>
int main()
{
LINKLIST *head=NULL,*t=NULL,*p=NULL;
int r=1,b;
;
while(scanf("%d",&b)&&b!=0)
{t=(LINKLIST*)malloc(sizeof(LINKLIST));
t->data=b;
t->next=head;
head=t;
}
while(t)
{printf("%d ",t->data);
t=t->next;
}
printf("\n");
p=t=head;
while(p&&(p->data)%2)
p=p->next;
t=p;
while(p&&p->next)
{if((p->next->data)%2) p->next=p->next->next;
else p=p->next;
}
while(t)
{printf("%d ",t->data);
t=t->next;
}
printf("\n");
return 0;
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯