描述

定义一个包含图书信息(书号、书名、价格)的顺序表,读入相应的图书数据来完成图书信息表的创建,然后查找价格最高的图书,输出相应图书的信息。

输入

总计输入n+1行,其中,第一行是图书数目n,后n行是n本图书的信息(书号、书名、价格),每本图书信息占一行,书号、书名、价格用空格分隔,价格之后没有空格。其中书号和书名为字符串类型,价格为浮点数类型。

输出

总计输出m+1行,其中,第一行是最贵图书的数目(价格最高的图书可能有多本),后m行是最贵图书的信息,每本图书信息占一行,书号、书名、价格用空格分隔,其中价格输出保留两位小数。

输入样例 1

8
9787302257646 Data-Structure 35.00
9787302164340 Operating-System 50.00
9787302219972 Software-Engineer 32.00
9787302203513 Database-Principles 36.00
9787810827430 Discrete-Mathematics 36.00
9787302257800 Data-Structure 62.00
9787811234923 Compiler-Principles 62.00
9787822234110 The-C-Programming-Language 38.00

输出样例 1

2
9787302257800 Data-Structure 62.00
9787811234923 Compiler-Principles 62.00

思路:

这个可以利用之前写过的sort函数先排个序,同时,在输入的时候用一个maxprice变量来保存最大的价格,用一个全局数组来充当计数器,储存每个价格分别都有多少本书。然后再遍历线性表,对每个数据的price逐一进行比对,如果等于maxprice就输出该数据项的值。

#include<string>
#include<iostream>
#include<algorithm>
using namespace std;
float maxprice = 0.00;
int maxarr[100];
class Book
{
public:string id, name;float price;
};
class Sqlist
{
public:int length;Book* elem;
};
void Init(Sqlist& l)
{l.elem = new Book[1000];if (!l.elem)exit(1);l.length = 0;
}
void Insert(Sqlist& l,int n)
{for (int i = 0; i <n; i++){cin >> l.elem[i].id >> l.elem[i].name >> l.elem[i].price;maxarr[(int)l.elem[i].price]++;if (maxprice < l.elem[i].price)maxprice = l.elem[i].price;l.length++;}
}
void Sort(Sqlist& l)
{for (int i = 0; i < l.length - 1; i++){for (int j = 0; j < l.length - i - 1; j++) {if (l.elem[j].price < l.elem[j + 1].price){Book book= l.elem[j];l.elem[j] = l.elem[j + 1];l.elem[j + 1] = book;}}}
}
void Find(Sqlist l)
{cout << maxarr[(int)maxprice] << endl;for (int i = 0; i < l.length; i++){if (l.elem[i].price == maxprice)printf("%s %s %.2f\n", l.elem[i].id.c_str(), l.elem[i].name.c_str(), l.elem[i].price);else return;//因为一开始已经逆序排序了,所以遇到不一样的退出就行了,不必遍历完,快}
}
int main()
{Sqlist l;Init(l);int t;cin >> t;Insert(l,t);Sort(l);Find(l);
}

基于顺序存储结构的图书信息表的最贵图书的查找(C++)相关推荐

  1. BJFU_数据结构习题_218基于链式存储结构的图书信息表的最贵图书的查找

    欢迎登录北京林业大学OJ系统 http://www.bjfuacm.com 218基于链式存储结构的图书信息表的最贵图书的查找 描述 定义一个包含图书信息(书号.书名.价格)的链表,读入相应的图书数据 ...

  2. 图书关键搜索c语言,【C语言】基于顺序存储结构的图书信息表的最贵图书的查找...

    本文采用C语言求解 [问题描述] 定义一个包含图书信息(书号.书名.价格)的顺序表,读入相应的图书数据来完成图书信息表的创建.然后,查找价格最高的图书,输出相应图书的信息. [输入形式] 总计输入n+ ...

  3. BJFU_数据结构习题_219基于链式存储结构的图书信息表的最爱图书的查找

    欢迎登录北京林业大学OJ系统 http://www.bjfuacm.com 219基于链式存储结构的图书信息表的最爱图书的查找 描述 定义一个包含图书信息(书号.书名.价格)的链表,读入相应的图书数据 ...

  4. 基于顺序存储结构的图书信息表的最佳位置图书的查找(C++)

    描述 定义一个包含图书信息(书号.书名.价格)的顺序表,读入相应的图书数据来完成图书信息表的创建,然后根据指定的最佳位置的序号,查找该位置上的图书,输出相应图书的信息. 输入 总计n+m+2行.首先输 ...

  5. 基于顺序存储结构的图书信息表的最爱图书的查找(C++)

    描述 定义一个包含图书信息(书号.书名.价格)的顺序表,读入相应的图书数据来完成图书信息表的创建,然后根据指定的最爱图书的名字,查找最爱的图书,输出相应图书的信息. 输入 总计n+m+2行.首先输入n ...

  6. haueoj1215: 基于链式存储结构的图书信息表的最爱图书的查找

    题目描述 定义一个包含图书信息(书号.书名.价格)的链表,读入相应的图书数据来完成图书信息表的创建,然后根据指定的最爱图书的名字,查找最爱的图书,输出相应图书的信息. 输入 总计n+m+2行.首先输入 ...

  7. PHP图书信息表books,创建一个图书表

    摘要:–创建图书表create table book(no varchar2(64),name varchar2(10),author varchar2(10),category varchar2(1 ...

  8. 基于顺序存储结构的图书信息表

    利用结构体数组模拟实现线性表 例题一 基于顺序存储结构的图书信息表的创建和输出 题目描述 定义一个包含图书信息(书号.书名.价格)的顺序表,读入相应的图书数据来完成图书信息表的创建,然后统计图书表中的 ...

  9. 数据结构——基于顺序存储结构的图书信息表的创建和输出

    1.基于顺序存储结构的图书信息表的创建和输出 问题描述 定义一个包含图书信息(书号.书名.价格)的顺序表,读入相应的图书数据来完成图书信息表的创建.然后,统计图书表中的图书个数,同时逐行输出每本图书的 ...

最新文章

  1. 【转载】mysql常用函数汇总
  2. python math库常用函数_Python math库常用函数
  3. 【原创】WP7.8 ROM更新图文并茂
  4. 【面试必备】静态路由与配置相关知识点详解
  5. boost / vs2017 编译 boost 1.68.0 的过程说明
  6. 用aspx开发html5页面,ASP.NET使aspx页面能接受HTML,asp的页面传送的文件-.NET教程,Asp.Net开发...
  7. js 封装经纬度成json_全国经纬度json文件
  8. 在Ubuntu上以服务方式运行Java程序
  9. c语言如何存储已编译内容,二级C语言教程章节测试13.编译预处理和动态存储分配...
  10. 大数据之-Hadoop3.x_MapReduce_全排序案例---大数据之hadoop3.x工作笔记0115
  11. java线程中yield(),sleep(),wait()区别详解
  12. 【图像增强】基于matlab HSV空间双边滤波图像去雾【含Matlab源码 067期】
  13. 计算机全息图的制作与在线,基于Matlab的计算全息图的制作与数字再现的研究精选.doc...
  14. eclipse配置Tomcat9
  15. C++ Primer 中文版(第 5 版)练习解答合集
  16. 7本软书,助你打破职场天花板
  17. 笔记-知识产权与标准化知识-中华人民共和国政府采购法
  18. Pytorch深度学习(一):前馈神经网络(FNN)
  19. apex 安装/使用 记录
  20. 沪漂IT岗的自我提升

热门文章

  1. 联想微型计算机电脑黑屏怎么做系统,联想电脑黑屏怎么办 5种方法轻松排除黑屏故障...
  2. java 本季度_Java获取当天、本周、本月、本季度、本年等 开始及结束时间
  3. MongoDB语法学习
  4. Mysql系列:高可用(HA)-keeplived
  5. arcgis10.1连接sqlserver数据库常见问题(转载)
  6. Linux Bash Shell学习(十八):String I/O——echo和printf
  7. Response.Redirect 产生的“正在中止线程”错误
  8. Flutter NestedScrollView实现的一个经典滑动折叠头部图片的效果
  9. Vue项目开发中的点滴积累系列文章
  10. Number 和 Math 类