教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 建筑文档 >

西电机电院自动化专业软件技术基础上机报告(4)

来源:网络收集 时间:2026-04-10
导读: 班级:041132 学号:04113*** 姓名: { q=p->next; p->next=q->next; q->next=head->next;; head->next=q; } return head; } int main() { linklist *head; head=(linklist*)malloc(sizeof(linklist)); head=CREATL

班级:041132 学号:04113*** 姓名:

{

q=p->next;

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

return head; }

int main() {

linklist *head;

head=(linklist*)malloc(sizeof(linklist));

head=CREATLSTER(); //尾插法建立链表。

printf(\ PRINT(head); //打印当前链表。 printf(\

REVERSEL(head); //将链表逆置。

printf(\ PRINT(head); //打印逆置以后的链表。 printf(\ return 1; }

第三题:

/****************************************************************************** 3.设有一个含有数字、英文字母和其它字符的单链表,试编写一个算法将该单链表拆分为三个单链表,使每个单链 表中只包含同一类的字符,要求利用原表中的结点空间作为这三个表的结点空间,头结点可以另辟空间。

******************************************************************************/ #include #include #include typedef char datatype; typedef struct node {

datatype data; struct node *next;

}linklist;//定义结点结构体‘

班级:041132 学号:04113*** 姓名:

linklist *NUM,*CHAR,*STRING,*head; //定义全局变量,以便函数调用之后能够将调用结果返回

linklist *CREATLSTER() //创建链表,将数据读入 {

datatype ch;

linklist *head,*r,*s;

head=(linklist *)malloc(sizeof(linklist)); r=head;

ch=getchar(); while(ch!='\\n') {

s=(linklist *)malloc(sizeof(linklist)); s->data=ch; r->next=s; r=s;

ch=getchar(); }

r->next=NULL; return head; }

/*删除头结点为head的链表中的结点p*/

linklist *DELETE(linklist *p,linklist *head) {

linklist *q=head; while(q->next!=p) q=q->next; q->next=p->next; return p; }

/*对链表数据进行查找分类*/ void FIND(linklist *head) {

linklist *p;

linklist *s_NUM=NUM,*s_CHAR=CHAR,*s_STRING=STRING; //将结果传给全局变量 p=head->next; s_NUM->next=NULL;

定义局部变量,以便班级:041132 学号:04113*** 姓名:

s_CHAR->next=NULL; s_STRING->next=NULL; while(p!=NULL) {

if((p->data>='0')&&(p->data<='9')) //将数字结点链接在s_NUM之后 {

s_NUM->next=DELETE(p,head); s_NUM=s_NUM->next; p=p->next; }

else if((p->data>='A')&&(p->data<='z')) {

s_CHAR->next=DELETE(p,head); //将字母结点链接在s_CHAR之后 s_CHAR=s_CHAR->next; p=p->next; } else {

s_STRING->next=DELETE(p,head);

s_STRING=s_STRING->next; //将其他字符结点链接在s_STRING之后 p=p->next; }

}

s_NUM->next=NULL; s_CHAR->next=NULL; s_STRING->next=NULL; }

/*打印当前链表*/

void PRINT(linklist *head) {

linklist *p; int j=0;

p=head->next;

while(p!=NULL) {

j++;

printf(\ p=p->next;

班级:041132 学号:04113*** 姓名:

} }

int main() {

head=(linklist *)malloc(sizeof(linklist)); //为head结点分配空间

NUM=(linklist *)malloc(sizeof(linklist)); //为数字链表的头结点分配空间。 CHAR=(linklist *)malloc(sizeof(linklist)); //为字母链表的头结点分配空间。 STRING=(linklist *)malloc(sizeof(linklist)); //为其他字符链表的头结点分配空间。

printf(\ head=CREATLSTER(); //尾插法建立链表 printf(\

printf(\ PRINT(head); //打印当前链表 printf(\ FIND(head); //为当前链表整理分类

printf(\ PRINT(NUM); //打印数字链表 printf(\

printf(\ PRINT(CHAR); //打印字母链表 printf(\

printf(\ PRINT(STRING); //打印其他字符链表 printf(\ return(1); }

第四题:

/******************************************************************** 某百货公司仓库中有一批电视机,试按价格从高到低的次序建立一个循环链表,每个结点有价格、数量和指针三个域。

现新到10台价格为4000元的电视机,修改原链表并输出修改后链表的所有内容。 ********************************************************************/ #include #include #include typedef struct node {

int number; float price;

班级:041132 学号:04113*** 姓名:

struct node *next; }linklist;

/************************************************************* 用尾插法创建链表

**************************************************************/ linklist *CREAT() {

int number1; float price1;

linklist *head,*r,*s;

head=(linklist *)malloc(sizeof(linklist)); r=head;

printf(\ scanf(\ while((number1!=0)&&(price1!=0)) {

s=(linklist *)malloc(sizeof(linklist)); s->number=number1; s->price=price1; r->next=s; r=s;

scanf(\ }

r->next=head; return head; }

/******************************************************* 打印链表

********************************************************/ void PRINT(linklist *head) {

linklist *p; int i=0;

p=head->next; while(p!=head) { i++;

printf(\ THE NUMBER IS %d AND THE PRICE IS \ p=p->next; } }

%f

…… 此处隐藏:1599字,全部文档内容请下载后查看。喜欢就下载吧 ……
西电机电院自动化专业软件技术基础上机报告(4).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/438931.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)