结构体和链表

PTA 实验作业

7-1查找书籍

1.本题 pta 提交列表

2.设计思路

本题要求我们给定n本书的名称和定价并编写程序,查找并输出其中定价最高和最低的书的名称和定价。

尤其注意到的是要保证输出的为保留两位小数

这种题目我们要使用结构体,首先先定义好书名和价格为结构体,再定义 max 和 min并初始化为0用来标记最小价格和最高价格的书

再输入书本的个数n 之后,要判断循环变量 i 是否小于 n,不是的话直接输出答案

是的话再输入书本信息,并比较 s[i] 和 max 或 min 的大小,如果大于 max 则用 s[i]替换 max,min 同理,最后 i++

3.1源代码截图

3.2思路流程图截图

4.本题调试过程碰到问题及PTA提交列表情况说明

本题之前一直误用 scanf, 忘记了书名有空格不可以用 scanf, 所以改成了 gets.

7-3 找出总分最高的学生

1.本题 pta 提交列表

2.设计思路

本题要求给定N个学生的基本信息,包括学号姓名和3门课程的成绩,要求输出总分最高学生的姓名、学号和总分。

这题和7-1那一题相类似,都是先定义并输入学生个数n,  令循环变量初始化 i=0,同时先定义 max=0用来存放总成绩最大的值

之后判断 i 是否小于 n, 如果大于的话直接输出总成绩最高的那位学生的信息

如果小于的话依次输入学生的三科成绩还有学生姓名与学号

定义总成绩 sum=三科之和并与 max 比较,如果大于 max 则令 max=s1.sum

3.1源代码截图

3.2思路流程图截图

4.本题调试过程碰到问题及PTA提交列表情况说明

本题略比7-1简单,唯一需要注意到的就是最后输出时候要保留两位小数.

7-12 单向链表4

1.本题 pta 提交列表

2.设计思路

本题要求我们定义单向链表:输入若干个正整数(输入-1为结束标志)同时按输入数据的逆序并输出

由于这道题到本题集结束为止老师还没教,故先用旧知识完成

首先由于题目没有说明输入几个,所以我们只能先定义稍微大的数组a[i]来存放,当 a[i]不等于-1时候一直循环输入

跳出循环之后应为需要我们逆序输出这一串数,同时要保证最后一个不能有空格,就令 n=i-1,当 n大于或等于0时候执行循环输出

每次输出前要判定该数是否为最后一个,也就是说n是否为0

如果n为零则只需输出该数就好,如果 n 不为0则需要我们输出 n 之后再输出空格

3.1源代码截图

3.2思路流程图截图

4.本题调试过程碰到问题及PTA提交列表情况说明

本题调试错误主要是因为我没有在最后一个输出的时候省略输出空格导致格式错误

同学代码结对互评

1.互评同学名称

黄世坤

题目 7-6

2.我的代码

对方代码截图

从代码长度来看明显对方的代码比我的要短很多,这也是对方代码的优势所在,其次对方使用了 string.h 头文件,使代码更加简单,就此而言,我更喜欢对方的代码.

本周学习总结

1你学会了什么

我学会的知识点:

1、结构体定义只是一种数据结构,并不是存在的实体,只是一种自定义的类型
2、结构体变量是这种类型的变量,就像是int n中的n一样只是一个变量,它的值可以像变量一样改变
3、结构体数组是和一般数组类似,只是它的每个元素都具有结构体的结构。

4混合定义是指在定义结构类型时候一同定义结构变量

进一步思考到用结构体去实现线性结构的链表,及其对链表的建立,结点的建健、查找、删除、插入等综合操作。。自己写出这个程序,那么我们的结构体知识点及数据结构的还有相关的基础知识也就撑握得差不多了。我认为是这样的。。所以近来加大了上机力度和时间。

2本周的内容,你还不会什么?

由于少用结构的嵌套,导致对结构的嵌套使用不太熟悉.

原文地址:https://www.cnblogs.com/xiaori520/p/8168069.html

时间: 2024-10-09 21:36:10

结构体和链表的相关文章

C语言语法笔记 – 高级用法 指针数组 指针的指针 二维数组指针 结构体指针 链表 | IT宅.com

原文:C语言语法笔记 – 高级用法 指针数组 指针的指针 二维数组指针 结构体指针 链表 | IT宅.com C语言语法笔记 – 高级用法 指针数组 指针的指针 二维数组指针 结构体指针 链表 | IT宅.com C语言语法笔记 – 高级用法 指针数组 指针的指针 二维数组指针 结构体指针 链表 本文由 arthinking 发表于315 天前 ⁄ itzhai.com原创文章 ⁄ C语言 ⁄ 评论数 3 ⁄ 被围观 1,775 views+ 指针数组: 在一个数组中,如果它的元素全部都是指针类

学习C/C++语言:结构体,动态链表

//*************************************************************** //结构体:简单的静态链表 #include<stdio.h> #include<string.h> #define NULL 0 #define SIZE 10 struct student { char num[SIZE]; float score; struct student *next; }; void main() { struct stu

关于结构体和链表结构

程序如下 #include <stdio.h>typedef struct list{ int data; struct list *next;} LIST;int fun(LIST *h){ LIST *p; int t = 0;//初始值不给的话会出现很离奇的错误! p=h; while( p )//*p为结构体,不能转换为bool(布尔)型,只能用p或者*p!=NULL { t=t+p->data;//p为指针,需要用->,不能用 .  p=(*p).next; } retu

解决一个题目。关于结构体与链表的操作

有初学者给我发了一个题目,求助我解决. 题目如下: 其实哥也不会C,但就是有一颗热心肠.于是果断研究起. 最后解决如下: 先上效果图 附上代码 : // LinkListDemo.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include <STDLIB.H> # define LEN sizeof(struct examinee) //结构体长度 //

3.结构体与链表

转载请标明出处:http://blog.csdn.net/u012637501 一.结构体 struct Student *p:p是一个struct Student *类型的指针变量, 用于存放struct Student类型变量的地址 1.结构体:把一些基本类型数据组合在一起形参的一个新的复合数据类型,用来表示一些复杂的事物,即称为结构体. 2.定义结构体方法 (1)第一种方法:指定结构体名,不定义结构体变量 struct Student { int age; float score; cha

结构体与链表

1 #include<stdio.h> 2 #include<string.h> 3 #include<stdlib.h> 4 #include<malloc.h> 5 #define N 3 6 #define LEN sizeof(struct grade) 7 struct grade 8 { 9 char no[7]; 10 int score; 11 struct grade *next; 12 }; 13 struct grade *create

C语言结构体

一.结构体的定义 1.定义形式 struct 结构名 {成员列表:};       //定义为语句,分号不能丢 2.结构类型变量的声明 (1)声明形式1 struct student { int number; char name[10]; float score; }; struct student st1,st2,st3; (2)声明形式2 struct student { int number; char name[10]; float score; }st1,st2,st3; (3)结构

Python中对复杂数据结构排序(类似C中结构体数据结构)

Python中排序主要有两个函数:sorted和列表成员函数sort,两者除了调用方式有些区别外,最显著的区别是sorted会新建一个排序好的列表并返回,而sort是修改原列表并排好序.sorted的原型是: sorted(iterable, cmp=None, key=None, reverse=False) sort的原型是: list.sort(cmp=None, key=None, reverse=False) 其中cmp和key都是函数引用,即可以传入函数名.这两个函数都是对list里

linux块设备驱动---相关结构体(转)

上回最后面介绍了相关数据结构,下面再详细介绍 块设备对象结构 block_device 内核用结构block_device实例代表一个块设备对象,如:整个硬盘或特定分区.如果该结构代表一个分区,则其成员bd_part指向设备的分区结构.如果该结构代表设备,则其成员bd_disk指向设备的通用硬盘结构gendisk 当用户打开块设备文件时,内核创建结构block_device实例,设备驱动程序还将创建结构gendisk实例,分配请求队列并注册结构block_device实例. 块设备对象结构blo