基于顺序存储结构的图书信息表的修改(C++)
描述
定义一个包含图书信息(书号、书名、价格)的顺序表,读入相应的图书数据完成图书信息表的创建,然后计算所有图书的平均价格,将所有低于平均价格的图书价格提高20%,所有高于或等于平均价格的图书价格提高10%,最后逐行输出价格修改后的图书信息。
输入
输入n+1行,前n行是n本图书的信息(书号、书名、价格),每本图书信息占一行,书号、书名、价格用空格分隔,价格之后没有空格。最后第n+1行是输入结束标志:0 0 0(空格分隔的三个0)。其中书号和书名为字符串类型,价格为浮点数类型。
输出
总计n+1行,第1行是修改前所有图书的平均价格,后n行是价格修改后n本图书的信息(书号、书名、价格),每本图书信息占一行,书号、书名、价格用空格分隔。其中价格输出保留两位小数。
输入样例 1
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
0 0 0
输出样例 1
43.88
9787302257646 Data-Structure 42.00
9787302164340 Operating-System 55.00
9787302219972 Software-Engineer 38.40
9787302203513 Database-Principles 43.20
9787810827430 Discrete-Mathematics 43.20
9787302257800 Data-Structure 68.20
9787811234923 Compiler-Principles 68.20
9787822234110 The-C-Programming-Language 45.60
#include<string>
#include<iostream>
#include<algorithm>
using namespace std;
float avg = 0.00;把float设置成全局变量,跟static静态类型的想法类似
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)
{for (int i = 0; i < 1000; i++){cin >> l.elem[i].id >> l.elem[i].name >> l.elem[i].price;avg += l.elem[i].price;l.length++;if (l.elem[i].id == "0" && l.elem[i].name == "0" && l.elem[i].price == 0){l.length--;//先让长度减一,因为最后那三个0代表的一个单位不是我们想要的avg /= l.length;return;}}
}
void Change(Sqlist& l)
{for (int i = 0; i < l.length; i++){if (l.elem[i].price < avg)l.elem[i].price *= 1.2;//注意不是乘以0.2,0.1elsel.elem[i].price *= 1.1;}
}
void Print(Sqlist l)
{printf("%.2f\n", avg);for (int i = 0; i < l.length; i++)printf("%s %s %.2f\n", l.elem[i].id.c_str(), l.elem[i].name.c_str(), l.elem[i].price);
}
int main()
{Sqlist l;Init(l);Insert(l);Change(l);Print(l);
}
基于顺序存储结构的图书信息表的修改(C++)相关推荐
- 基于顺序存储结构的图书信息表
利用结构体数组模拟实现线性表 例题一 基于顺序存储结构的图书信息表的创建和输出 题目描述 定义一个包含图书信息(书号.书名.价格)的顺序表,读入相应的图书数据来完成图书信息表的创建,然后统计图书表中的 ...
- 数据结构——基于顺序存储结构的图书信息表的创建和输出
1.基于顺序存储结构的图书信息表的创建和输出 问题描述 定义一个包含图书信息(书号.书名.价格)的顺序表,读入相应的图书数据来完成图书信息表的创建.然后,统计图书表中的图书个数,同时逐行输出每本图书的 ...
- 基于顺序存储结构的图书信息表的图书去重(C++)
描述 出版社出版的任何一本图书的书号(ISBN)都是唯一的,即图书表中不允许包含书号重复的图书.定义一个包含图书信息(书号.书名.价格)的顺序表,读入相应的图书数据来完成图书信息表的创建(书号可能重复 ...
- 基于顺序存储结构的图书信息表的旧图书的出库(C++)
描述 定义一个包含图书信息(书号.书名.价格)的顺序表,读入相应的图书数据来完成图书信息表的创建,然后根据指定的待出库的旧图书的位置,将该图书从图书表中删除,最后输出该图书出库后的所有图书的信息. ...
- 基于顺序存储结构的图书信息表的新图书的入库(C++)
描述 定义一个包含图书信息(书号.书名.价格)的顺序表,读入相应的图书数据来完成图书信息表的创建,然后根据指定的待入库的新图书的位置和信息,将新图书插入到图书表中指定的位置上,最后输出新图书入库后所有 ...
- 基于顺序存储结构的图书信息表的最佳位置图书的查找(C++)
描述 定义一个包含图书信息(书号.书名.价格)的顺序表,读入相应的图书数据来完成图书信息表的创建,然后根据指定的最佳位置的序号,查找该位置上的图书,输出相应图书的信息. 输入 总计n+m+2行.首先输 ...
- 基于顺序存储结构的图书信息表的最爱图书的查找(C++)
描述 定义一个包含图书信息(书号.书名.价格)的顺序表,读入相应的图书数据来完成图书信息表的创建,然后根据指定的最爱图书的名字,查找最爱的图书,输出相应图书的信息. 输入 总计n+m+2行.首先输入n ...
- 基于顺序存储结构的图书信息表的最贵图书的查找(C++)
描述 定义一个包含图书信息(书号.书名.价格)的顺序表,读入相应的图书数据来完成图书信息表的创建,然后查找价格最高的图书,输出相应图书的信息. 输入 总计输入n+1行,其中,第一行是图书数目n,后n行 ...
- 基于顺序存储结构的图书信息表的逆序存储(C++)
描述 定义一个包含图书信息(书号.书名.价格)的顺序表,读入相应的图书数据来完成图书信息表的创建,然后将读入的图书信息逆序存储,逐行输出逆序存储后每本图书的信息. 输入 输入n+1行,第一行是图书数目 ...
最新文章
- hive环境搭建提示: java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument
- 树的懒加载怎么用ajax调接口,ElementUI tree树形控件的懒加载使用
- c语言 文件名变量,C语言中,如何用根据不同的变量来更改文件名?
- 单点登陆的技术实现机制
- java range(10)_Java Year range()用法及代码示例
- 深度学习的数学 (4)张量、矩阵、导数
- LeNet试验(四)使用shuffle label观察网络的记忆能力
- 如何去掉ECShop 2.7.2中的Powered by ECShop字符
- 一个Web前端自学者的自述
- Linux下apache与tomcat完美整合笔记
- 在virtualenv中安装NumPy、 SciPy、 scikit-learn、 matplotlib
- Leetcode130.被围绕的区域
- 可道云 docker 群晖_利用群晖NAS同步文献
- 数据库备份的三种方式 不要再干掉数据库跑路啦~
- 利用python打乱xlsx表格
- 有道云笔记分享_写完笔记后干啥 有道云笔记分享技巧
- 中关村-DIY之笔记本做wifi热点供手机无线上网
- windows10 LTSC版本 安装应用商店及聚焦屏保
- C语言学习笔记——(三)静态开辟内存和动态开辟内存
- BgSub 无需上传图片即可在线自动抠图的AI工具