程序设计与问题求解实验报告六
2021/11/12 17:13:58
本文主要是介绍程序设计与问题求解实验报告六,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
程序设计与问题求解实验报告六
——结构体与链表程序设计
文章目录
- 程序设计与问题求解实验报告六
- ——结构体与链表程序设计
- 前言
- 一、实验目的
- 二、实验内容和步骤
- 1.修改错误程序——结构体相关编程
- 2.修改错误程序——链表相关编程
- 3.简单有序链表的创建和查询修改
- 三、实验总结
前言
提示:以下是本篇文章正文内容,下面案例可供参考
一、实验目的
1.掌握结构化数据的编程使用;
2.掌握指针与内存地址的关系;
3.掌握通过指针动态申请和释放内存的编程方法;
4.掌握单向链表的基本操作。
二、实验内容和步骤
1.修改错误程序——结构体相关编程
程序实现输出图书的名字和单价,错误代码如下:
#include <stdio.h> struct book { float price;//价格 char name[10];//名字 } int main(void) { struct book myBook; myBook={5.6,"the world is flat"}; printf("book name=%s,book price=%f",myBook.name,myBook.price); return 0; }
修改后:
错误原因分析:结构体中的name字符串长度不够,结构体末尾没有‘;’ ,结构体初始化方式错误。
2.修改错误程序——链表相关编程
输入若干学生的信息(学号、姓名、成绩),当输入学号为 0 时结束,用单向链表组织这些学生信息后,再按序输出。
#include <stdio.h> #include <stdlib.h> #include <string.h> structstud_node { intnum; char name[20]; int score; structstud_node *next; }; int main() { structstud_node *head,*tail,*p; intnum,score; char name[20]; int size = sizeof(structstud_node); head=tail=NULL; printf(“input num,name and score:\n”); scanf(“%d”,&num); while(num != 0) { p=malloc(size); scanf(“%s%d”,name,&score); p->num=num; strcpy(p->name,name); p->score=score; p->next=NULL; tail->next=p; tail=p; scanf(“%d”,&num); } for(p=head;p->next != NULL;p=p->next) printf(“%d %s %d\n”,p->num,p->name,p->score); return 0; }
修改后:
测验一下:
3.简单有序链表的创建和查询修改
(假设链表的第一个有数据的节点编号为1)
(1)建立一个单链表 21 3 15 27 11 18,并输出该链表;
(2)输入序号n,查找序号为n的结点,并输出;
(3)输入值x,查找值为x的结点,并输出;
(4)插入结点: 输入序号 n和值x。在序号为n的结点后插入x,并输出该链表;
(5)删除结点: 输入序号 n,删除序号为 n 的结点,并输出该链表。
实现代码:
测验一下:
三、实验总结
这两次的实验对我来说比较困难,上一次的磕磕绊绊的完成了,这一次由于对链表的创建理解的不是很好,导致对它的运用出现了很多问题,花了非常多的时间去查询、了解一些有关的资料,同时通过问同学、上网查询等方法最终完成了实验。这次的实验使我了解了链表,深入了解了对链表的快速插入删除元素优点。但是,我对这些仍然不够熟练,容易犯迷糊,仍需多加练习。
这篇关于程序设计与问题求解实验报告六的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-06-26结对编程到底难不难?答案在这里
- 2024-06-19《2023版Java工程师》课程升级公告
- 2024-06-15matplotlib作图不显示3D图,怎么办?
- 2024-06-1503-Loki 日志监控
- 2024-06-1504-让LLM理解知识 -Prompt
- 2024-06-05做软件测试需要懂代码吗?
- 2024-06-0514-ShardingSphere的分布式主键实现
- 2024-06-03为什么以及如何要进行架构设计权衡?
- 2024-05-31全网首发第二弹!软考2024年5月《软件设计师》真题+解析+答案!(11-20题)
- 2024-05-31全网首发!软考2024年5月《软件设计师》真题+解析+答案!(21-30题)