问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C语言:编写一个输出考生链表的函数print()

发布网友 发布时间:2022-05-19 00:53

我来回答

1个回答

热心网友 时间:2023-11-26 17:41

// PList.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include "stdlib.h"

struct node
{
int data;
struct node *next;
};

int initList(node *h)
{
h->next=NULL;
return 1;
}

int creatList(node *h)
{
node *p,*s;
int x;
p=h;
for(int i=0;i<999;i++)
{
scanf("%d",&x);
if(x==0)
{
printf("finish creat List!\n");
p->next=NULL;
return 1;
}
s=(node*)malloc(sizeof(node));
s->data=x;
p->next=s;
p=s;
printf("ok!\n");
}
p->next=NULL;
return 1;
}

int insertsl(node *h,int i,int x)
{
node *p,*t;
int j;
p=h;j=0;
while(p!=NULL && j<i-1)
{
p=p->next;
j++;
}
if(j!=i-1)
{
printf("i is invalid");
return -1;
}
t=(node*)malloc(sizeof(node));
t->data=x;
t->next=p->next;
p->next=t;
return 1;
}

int deletesl(node *h,int i)
{
node *p,*s;
int j;
p=h;j=0;
while(p->next!=NULL && j<i-1)
{
p=p->next;
j++;
}
if(j!=i-1)
{
printf("i is invalid");
return -1;
}
s=p->next;
p->next=s->next;
free(s);
return 1;
}

int ShowList(node* TList)
{
node *pList;
pList=TList;
pList=pList->next;
while(pList->next!=NULL)
{
printf("%d",pList->data);
pList=pList->next;
}
printf("\n");
printf("Print Finish!\n");
return 1;
}

int main()
{
node nList,*pList;//定义一个链表
int nT,nP;
pList=&nList;//将链表的地址付给指针
if(initList(pList)==1)//初始化链表
printf("Init success!\n");
else
{
printf("Init error!\n");
return -1;
}
creatList(pList);//创建链表
for(int i=0;i<9999;i++)
{
scanf("%d %d",&nP,&nT);
if(nP==9999)//若输入的nP=9999,则进行链表的输出操作
{
ShowList(pList);
}
if(nP<0)//若输入的nP<0,则进行删除操作
{
if(deletesl(pList,nT)==1)//删除,nT为要删除的节点
{
printf("Delet list number %d success\n",nT);
continue;
}
else
{
printf("error!\n");
continue;
}
}
if(nP>0)
{
if(insertsl(pList,nP,nT)==1)//若nP>0,则进行插入操作
printf("Insert success!\n");
else
{
printf("Insert error!\n");
continue;
}
}
}
return 1;
}

这个是个链表 你改下

热心网友 时间:2023-11-26 17:41

// PList.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include "stdlib.h"

struct node
{
int data;
struct node *next;
};

int initList(node *h)
{
h->next=NULL;
return 1;
}

int creatList(node *h)
{
node *p,*s;
int x;
p=h;
for(int i=0;i<999;i++)
{
scanf("%d",&x);
if(x==0)
{
printf("finish creat List!\n");
p->next=NULL;
return 1;
}
s=(node*)malloc(sizeof(node));
s->data=x;
p->next=s;
p=s;
printf("ok!\n");
}
p->next=NULL;
return 1;
}

int insertsl(node *h,int i,int x)
{
node *p,*t;
int j;
p=h;j=0;
while(p!=NULL && j<i-1)
{
p=p->next;
j++;
}
if(j!=i-1)
{
printf("i is invalid");
return -1;
}
t=(node*)malloc(sizeof(node));
t->data=x;
t->next=p->next;
p->next=t;
return 1;
}

int deletesl(node *h,int i)
{
node *p,*s;
int j;
p=h;j=0;
while(p->next!=NULL && j<i-1)
{
p=p->next;
j++;
}
if(j!=i-1)
{
printf("i is invalid");
return -1;
}
s=p->next;
p->next=s->next;
free(s);
return 1;
}

int ShowList(node* TList)
{
node *pList;
pList=TList;
pList=pList->next;
while(pList->next!=NULL)
{
printf("%d",pList->data);
pList=pList->next;
}
printf("\n");
printf("Print Finish!\n");
return 1;
}

int main()
{
node nList,*pList;//定义一个链表
int nT,nP;
pList=&nList;//将链表的地址付给指针
if(initList(pList)==1)//初始化链表
printf("Init success!\n");
else
{
printf("Init error!\n");
return -1;
}
creatList(pList);//创建链表
for(int i=0;i<9999;i++)
{
scanf("%d %d",&nP,&nT);
if(nP==9999)//若输入的nP=9999,则进行链表的输出操作
{
ShowList(pList);
}
if(nP<0)//若输入的nP<0,则进行删除操作
{
if(deletesl(pList,nT)==1)//删除,nT为要删除的节点
{
printf("Delet list number %d success\n",nT);
continue;
}
else
{
printf("error!\n");
continue;
}
}
if(nP>0)
{
if(insertsl(pList,nP,nT)==1)//若nP>0,则进行插入操作
printf("Insert success!\n");
else
{
printf("Insert error!\n");
continue;
}
}
}
return 1;
}

这个是个链表 你改下
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
请问这狗狗是什么品种?是不是杂交的啊? ...鉴别下这是啥狗狗?大概三个月不到点。个人感觉像是蝴蝶和土狗... 如何给好友写信,讲述自己的暑假生活? 英语用信的格式冩一篇“你是怎么样度过暑假的”? 暑假到了,老师要让我们在8.1号之前写1封信给她,汇报这一个月生活,怎么... 上班族怎样提升学历 为什么重庆自考每年都有专业停考 重庆自考官网是什么 自考报名时间2024具体时间是什么时候 “重庆自考管理系统”怎么登陆不进去了啊 怎么反向输出一个链表,要求用C语言实现,几个数都可以,不要求。好评 java 怎么把链表(linkedList) 的内容输出 输出顺序链表 c语言如何输出单链表,为什么我的输出和输入不一致呢? 关于用C++实现链表的输出 创建一个链表,输出该链表,将链表中所有x替换成y,输出替换后的链表 链表输出 C语言创建与输出链表问题 中国传统节日,急需!!! C语言创建链表输出链表有些问题,求教 C语言链表输出 一年之中有很多很多的节日,请帮我列出来!谢谢 一年之中有很多很多的节日,请帮我列出来!谢谢 怎样输出单链表的内容 链表的建立和输出 输出链表 c++链表怎么输出 链表应该怎么样输出? C语言链表 输出 牛肉汤馆 起名为:殷特牛 想测名字凶吉 我国北方出现罕见沙尘暴原因 请问各位潍坊市工商局的地址是在哪儿? 干货,怎样在爱尔兰办理美国旅行签证 “漂泊”的意思是停船靠岸,,还是停留 mutatis mutandis是什么意思 mutatis mutandis什么意思? - 信息提示 英语句法分析 - 信息提示 En: mutatis mutandis是什么意思? 谢谢您的答复。还想请问下 mutatis mutandis 是什么意思? by applying mutatis mutandis是什么意思及反义词 公职人员的英文法规 求忘羡高清Q版壁纸,谢 大家的QQ头像都是什么呀?分享一下? 国漫之中,你最喜欢的是哪部? 很会画画是什么感觉? 有哪些电脑或者手机壁纸是你不想换掉的? 寻高清壁纸,谢谢 使用磊科NW714路由器网页个别网站打不开怎么办?