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

输入要求
输入n+1行,其中前n行是n本图书的信息(书号、书名、价格),每本图书信息占一行,书号、书名、价格用空格分隔,价格之后没有空格。最后第n+1行是输入结束标志:0 0 0(空格分隔的三个0)。其中,书号和书名为字符串类型,价格为浮点数类型。

输出要求
总计n+1行,第1行是所创建的图书信息表中的图书个数,后n行是n本图书的信息(书号、书名、价格),每本图书信息占一行,书号、书名、价格用空格分隔。其中,价格输出保留两位小数。

#include<stdio.h>
#include<string.h>
#include<malloc.h>
#include<stdlib.h>
#define MAXSIZE 10000//图书表可能达到的最大长度
#define OK 1
#define ERROR 0
#define OVERFLOW -2typedef int Status;typedef struct //图书信息定义
{char  no[20];//图书ISBN char  name[50];//图书名字 float price;//图书价格 }Book;typedef struct
{Book *elem;//存储空间的基地址 int  length;//图书表中当前图书个数
}SqList;//图书表的顺序存储结构类型为SqListtypedef struct LNode
{Book data;//结点的数据域 struct LNode *next;//结点的指针域
}LNode,*LinkList;//LinkList为指向结构体LNode的指针类型 Status InitList_Sq(SqList &L)//构造一个空的顺序表
{L.elem=(Book * )malloc(MAXSIZE * sizeof(Book));//为顺序表分配一个大小为MAXSIZE的数组空间 if(!L.elem) exit(OVERFLOW);//存储失败 L.length=0;//空表长度为零 return OK;
}Status PrintList_Sq(SqList &L)
{printf("%d\n",L.length);           //书本总数for(int i=0;i<L.length;i++)     //顺序输出每本书的信息{printf("%s %s %.2f\n", L.elem[i].no,L.elem[i].name,L.elem[i].price);//每本书信息// printf("%.2f\n",L.elem[i].price);//保留两位小数}return OK;                      //OK=1,返回真
}Status CreationList_Sq(SqList &L,char *no,char *name,float price)
{char * strcpy(char * strDest,const char * strSrc);Book B;                    //定义B为Bookstrcpy(B.no,no);       //复制书号strcpy(B.name,name);B.price=price;L.elem[L.length]=B;         //l的elem数组存储书的信息L.length++;                 //每存好一本书,书总量自加1,l.length=l.length+1.单目运算return OK;                      //OK=1,返回真
}int main()
{char no[20],name[50];          float price; SqList L;                       //定义L为SqListInitList_Sq(L);                 //初始化Lwhile(~scanf("%s %s %f",no,name,&price)){if(!strcmp(no,"0")&&!strcmp(name,"0")&&price==0.0)break;                   CreationList_Sq(L,no,name,price);                    }PrintList_Sq(L);                return 0;
}

数据结构——基于顺序存储结构的图书信息表的创建和输出相关推荐

  1. 数据结构实验一,第1题:基于顺序存储结构的图书信息表的创建和输出

    描述 定义一个包含图书信息(书号.书名.价格)的顺序表,读入相应的图书数据来完成图书信息表的创建,然后统计图书表中的图书个数,同时逐行输出每本图书的信息. 输入 输入n+1行,其中前n行是n本图书的信 ...

  2. 基于顺序存储结构的图书信息表的创建和输出(C++)

    描述 定义一个包含图书信息(书号.书名.价格)的顺序表,读入相应的图书数据来完成图书信息表的创建,然后统计图书表中的图书个数,同时逐行输出每本图书的信息. 输入 输入n+1行,其中前n行是n本图书的信 ...

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

    描述 定义一个包含图书信息(书号.书名.价格)的顺序表,读入相应的图书数据来完成图书信息表的创建,然后统计图书表中的图书个数,同时逐行输出每本图书的信息. 输入 输入n+1行,其中前n行是n本图书的信 ...

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

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

  5. 数据结构实验一,第2题:基于顺序存储结构的图书信息表的排序

    描述 定义一个包含图书信息(书号.书名.价格)的顺序表,读入相应的图书数据完成图书信息表的创建,然后将图书按照价格降序排序,逐行输出排序后每本图书的信息. 输入 输入n+1行,前n行是n本图书的信息( ...

  6. 基于顺序存储结构的图书信息表的图书去重(C++)

    描述 出版社出版的任何一本图书的书号(ISBN)都是唯一的,即图书表中不允许包含书号重复的图书.定义一个包含图书信息(书号.书名.价格)的顺序表,读入相应的图书数据来完成图书信息表的创建(书号可能重复 ...

  7. 基于顺序存储结构的图书信息表的旧图书的出库(C++)

    描述 ​定义一个包含图书信息(书号.书名.价格)的顺序表,读入相应的图书数据来完成图书信息表的创建,然后根据指定的待出库的旧图书的位置,将该图书从图书表中删除,最后输出该图书出库后的所有图书的信息. ...

  8. 基于顺序存储结构的图书信息表的新图书的入库(C++)

    描述 定义一个包含图书信息(书号.书名.价格)的顺序表,读入相应的图书数据来完成图书信息表的创建,然后根据指定的待入库的新图书的位置和信息,将新图书插入到图书表中指定的位置上,最后输出新图书入库后所有 ...

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

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

最新文章

  1. Python time 100 天以后的日期
  2. stm32 str转hex_【SW4STM32生成 hex文件的设置方法】
  3. c# typeof 与 Type.GetType 使用与效率对比
  4. android有关的笔记,android学习笔记1——webview相关
  5. ESP32 入门教学,不入门,不教学
  6. PannerNode
  7. 【简报】kube框架结构-一个小型响应式CSS框架
  8. Python struct模块与简单使用
  9. umask 文件预设权限掩码
  10. OA选择首先要清晰概念
  11. 互联网史上10大经典商战
  12. 再读王垠的《编程的智慧》,有怎样的感想?
  13. 计算机硬件及装机视频,超详细图文 视频电脑组装教程,装机之家手把手教你组装一台电脑(9)...
  14. Arranging Coins 排列硬币
  15. 现代计算机发展经历的阶段,计算机的发展经历了那几个阶段
  16. 201771010101 白玛次仁 《2018面向对象程序设计(Java)》第八周学习总结
  17. python 读取行数据_openpyxl读取所有行数据之rows属性
  18. Fedora 常用软件推荐
  19. 微服架构基础设施环境平台搭建 -(二)Docker私有仓库Harbor服务搭建
  20. js html css 图片跑马灯效果(轮播)

热门文章

  1. java手机杀毒_Android项目实战手机安全卫士(01)
  2. 用 UML 图绘制三略
  3. PHP 8 - 学习/实践
  4. 27. Python 列表的索引取值
  5. 四十三、迎接挑战,苦练内功,迎接春天的到来
  6. idea2020shezhi代码检查级别_GitLab 13.1:告警管理扩展,新代码质量工具和安全合规等...
  7. png24 图片透明底
  8. 什么叫反光识别读数识别_回老家前 微信这个超实用小技巧一定要学会
  9. 利用STM32F103的DAC结合xtr111实现4-25mA输出的数据分析
  10. 易基因文献速递|BS-miRNA-seq技术发现人类microRNA中CpG和 非CpG上的(h)m5C修饰