如果编译不通过,可以将C该为C++

#include<stdio.h>
#include<stdlib.h>
#define MAX 100
//创建节点
typedef struct Book{
double no;
char name[MAX];
double price;
struct Book * next;
}Book,*BList; //创建链表
void CreatList(BList &B,int n)
{
B = (BList)malloc(sizeof(Book));
B->next = NULL;
BList rear = B;
for(int i=;i<=n;i++)
{
//这里用的是尾插法
BList p = (BList)malloc(sizeof(Book));
scanf("%lf",&p->no);
scanf("%s",p->name);
scanf("%lf",&p->price);
if(p->no==&&p->name[]==''&&p->price==) break;
rear->next = p;
p->next = NULL;
rear = p;
}
}
//获得最贵图书的价格,并返回其值
double getCost(BList &B)
{
BList p = B->next;
double cost = p->price;
int cout = ;
while(p)
{
if(p->price > cost)
{
cost = p->price;
}
p = p->next;
}
return cost;
}
void traverse(BList B,int n,double cost)
{
BList p = B->next;
int cout = ;
for(int i=;i<=n;i++)
{
if(p->price==cost) cout++; //计算最贵图书的个数
p = p->next;
}
printf("%d\n",cout); BList q = B->next;
for(int i=;i<=n;i++)
{ if(q->price==cost) //如果图书的价格是cost,就输出
{
printf("%.0f ",q->no);
printf("%s ",q->name);
printf("%.2f",q->price);
printf("\n"); }
q = q->next;
} } int main()
{
BList B;
int n;
double cost;
scanf("%d",&n);
CreatList(B,n);
cost = getCost(B);
traverse(B,n,cost);
return ;
}

BJFU-218-基于链式存储结构的图书信息表的最贵图书的查找的更多相关文章

  1. BJFU—214基于链式存储结构的图书信息表的创建和输出

    #include<stdio.h>#include<stdlib.h>#define MAX 100 typedef struct bNode{ double no; char ...

  2. BJFU-208-基于顺序存储结构的图书信息表的最贵图书的查找

    #include<stdio.h> #include<stdlib.h> #define MAX 1000 typedef struct{ double no; char na ...

  3. javascript实现数据结构:线性表--线性链表(链式存储结构)

    上一节中, 线性表的顺序存储结构的特点是逻辑关系上相邻的两个元素在物理位置上也相邻,因此可以随机存取表中任一元素,它的存储位置可用一个简单,直观的公式来表示.然后,另一方面来看,这个特点也造成这种存储 ...

  4. [置顶] ※数据结构※→☆线性表结构(queue)☆============优先队列 链式存储结构(queue priority list)(十二)

    优先队列(priority queue) 普通的队列是一种先进先出的数据结构,元素在队列尾追加,而从队列头删除.在优先队列中,元素被赋予优先级.当访问元素时,具有最高优先级的元素最先删除.优先队列具有 ...

  5. C++编程练习(6)----“实现简单的队列的链式存储结构“

    队列的链式存储结构,其实就是线性表的单链表,只不过它只能尾进头出.简称链队列. 实现代码如下: /* LinkQueue.h 头文件 */ #include<iostream> #defi ...

  6. C++编程练习(4)----“实现简单的栈的链式存储结构“

    如果栈的使用过程中元素数目变化不可预测,有时很小,有时很大,则最好使用链栈:反之,如果它的变化在可控范围内,使用顺序栈会好一些. 简单的栈的链式存储结构代码如下: /*LinkStack.h*/ #i ...

  7. C++编程练习(2)----“实现简单的线性表的链式存储结构“

    单链表采用链式存储结构,用一组任意的存储单元存放线性表的元素. 对于查找操作,单链表的时间复杂度为O(n). 对于插入和删除操作,单链表在确定位置后,插入和删除时间仅为O(1). 单链表不需要分配存储 ...

  8. java资料——顺序存储结构和链式存储结构(转)

    顺序存储结构 主要优点 节省存储空间,随机存取表中元素 缺    点 插入和删除操作需要移动元素 在计算机中用一组地址连续的存储单元依次存储线性表的各个数据元素,称作线性表的顺序存储结构. 顺序存储结 ...

  9. c数据结构 -- 线性表之 复杂的链式存储结构

    复杂的链式存储结构 循环链表 定义:是一种头尾相接的链表(即表中最后一个结点的指针域指向头结点,整个链表形成一个环) 优点:从表中任一节点出发均可找到表中其他结点 注意:涉及遍历操作时,终止条件是判断 ...

随机推荐

  1. React渲染和事件处理

    一.列表渲染 ①在列表中,绑定数组成员会直接把成员渲染 <div id="app"></div> <script src="node_mod ...

  2. 分布式系统CAP定理与BASE理论

    CAP定理: 一个分布式系统不可能同时满足一致性(C:Consistency).可用性(A:Availability)和分区容错性(P:Partition tolerance)这三个基本要求,最多只能 ...

  3. 初始化错误——从一个简单的算例看UDF各个宏的调用顺序

    感谢西安交通大学en_phert的问题和尝试 Fluent版本:Fluent 19.0 Visual Studio版本:Visual Studio 2013 在UDF的宏的调用中大家常看见下图: 这个 ...

  4. 声源定位之3精读《The Generalized Correlation Method for Estimation of Time Delay》

    2.2.1 标题(2019年9月5日) 估计时间差的广义互相关方法 互相关可以表示两个信号的相似程度. 计算:两个信号循环移位相乘再相加,得到的一组互相关值. 相关函数: 何为广义?通用的框架,可以设 ...

  5. tensorflow 2.0 的资料

    https://github.com/jtoy/awesome-tensorflow https://github.com/Amin-Tgz/awesome-tensorflow-2 https:// ...

  6. MySQL索引原理(一)

    MySQL索引原理 索引目的 索引的目的在于提高查询效率,可以类比字典,如果要查“mysql”这个单词,我们肯定需要定位到m字母,然后从下往下找到y字母,再找到剩下的sql.如果没有索引,那么你可能需 ...

  7. 使用kafka-python客户端进行kafka kerberos认证

    之前说过python confluent kafka客户端做kerberos认证的过程,如果使用kafka python客户端的话同样也可以进行kerberos的认证,具体的认证机制这里不再描述,主要 ...

  8. jetty源码下载

    jetty下载地址:https://www.eclipse.org/jetty/download.html Release         9.4.20.v20190813 .zip .tgz api ...

  9. ubuntu 本地生成被浏览器信任的证书

    vhosts添加https证书两步: 1:生成证书: sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl ...

  10. C++ int double float对应的长度以及二进制

    #include <iostream> using namespace std; void showIntBit(int a); void showDoubleBit(double a1) ...