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

描述

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

输入

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

输出

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

样例输入1

9787302257646 程序设计基础 25.00
9787302164340 程序设计基础(第2版) 20.00
9787302219972 单片机技术及应用 32.00
9787302203513 单片机原理与应用技术 26.00
9787810827430 工业计算机控制技术——原理与应用 29.00
9787811234923 汇编语言程序设计教程 21.00
0 0 0

样例输出1

6
9787302257646 程序设计基础 25.00
9787302164340 程序设计基础(第2版) 20.00
9787302219972 单片机技术及应用 32.00
9787302203513 单片机原理与应用技术 26.00
9787810827430 工业计算机控制技术——原理与应用 29.00
9787811234923 汇编语言程序设计教程 21.00

解答:开辟一段结构体数组空间,将图书信息长度保存于第一个结点。输入图书信息,同时统计结点个数。

/*** main函数返回值不能为void,否则会汇编出错,请使用int main(),并在最后return 0。* 虽然VC等windows下的编译器支持,但C/C++标准中不允许使用void main()!*/
#include<stdio.h>
#include<stdlib.h>
#define maxn 1000typedef struct node
{long long int num;char name[50];double price;
} Book;int main()
{Book *book;book=(Book *)malloc(maxn*sizeof(Book));book[0].num=0;for(int i=1; ; i++){scanf("%lld %s %lf",&book[i].num,book[i].name,&book[i].price);//int 型 结束0直接判断  ==0//字符串数组 第一位 是否是字符'0'//            第二位 是否是结束符'\0'//防止出现   0的意义 等书名//double型  因为小数点位数不确定因素 这采用减0判断差值的方法if(book[i].num==0&&book[i].name[0]=='0'&&book[i].name[1]=='\0'&&book[i].price-0<1e-6){break;}else{book[0].num++;}}printf("%d\n",book[0].num);for(int i=1; i<=book[0].num; i++){printf("%lld %s %.2f\n",book[i].num,book[i].name,book[i].price);}return 0;
}

每日一题Day01 顺序表创建相关推荐

  1. 用顺序表创建学生信息花名册

    问题:用顺序表创建学生信息包括姓名,学号,语数外3科成绩,并对顺序表实现基本的操作. 1.LinearList.h #ifndef _LINEARLIST_H_ #define _LINEARLIST ...

  2. 顺序表创建和就地逆置

    顺序表创建和就地逆置 本题要求实现顺序表的创建和就地逆置操作函数.L是一个顺序表,函数ListCreate_Sq(SqList &L)用于创建一个顺序表,函数ListReverse_Sq(Sq ...

  3. 6-1 顺序表创建和就地逆置 (10 分)

    6-1 顺序表创建和就地逆置 (10 分) 本题要求实现顺序表的创建和就地逆置操作函数.L是一个顺序表,函数ListCreate_Sq(SqList &L)用于创建一个顺序表,函数ListRe ...

  4. 静态顺序表创建,初始化,插入,删除,查找

    #include<stdlib.h> #define MaxSize 20 typedef struct {int data[MaxSize];int length; }sqlist; / ...

  5. component是什么接口_【Android每日一题】从Activity创建到View呈现中间发生了什么?...

    前言 前段时间公司招人,作为面试官,我经常让面试者简述View的绘制流程.他们基本都能讲明白View的测量(measure).布局(layout).绘制(draw)等过程. 还有少数人会提到Decor ...

  6. C案例:创建顺序表并进行增删改查操作

    一.顺序表概述 顺序表是在计算机内存中以数组的形式保存的线性表,线性表的顺序存储是指用一组地址连续的存储单元依次存储线性表中的各个元素.使得线性表中在逻辑结构上相邻的数据元素存储在相邻的物理存储单元中 ...

  7. c语言创建空顺序表的程序,C语言实现顺序表的创建与增删改查操作

    SqListDemo.c /* 线性表的顺序存储实现 */ #include #include #include // 定义符号常量 #define LIST_INIT_SIZE 50 #define ...

  8. 实验题一(实现顺序表各种基本运算的算法)

    目的:领会顺序表存储结构和掌握顺序表中各种基本运算算法设计. 内容:编写一个.cpp的程序,实现顺序表的各种基本运算和整体建表算法(假设顺序表的元素类型为 Elemtype char),并在此基础上设 ...

  9. 数据结构线性表的逻辑结构(三)顺序表基本操作的实现

    一. 实验目的 1. 掌握线性表的逻辑结构: 2. 顺序表基本操作的实现: 3. 掌握利用C/C++编程语言实现数据结构的编程方法: 4. 通过上机时间加强利用数据结构解决实际应用问题的能力: 二.  ...

最新文章

  1. 2014 百度之星题解 1002 - Disk Schedule
  2. Nodejs 环境配置终极解决方案
  3. matlab下的textread()
  4. Oracle 数据库sql语句查看字符集,PG数据库查询字符集方法
  5. Bech32编码 (4)地址验证示例
  6. mysql命令导入导出数据_mysql命令行导入和导出数据
  7. Vue+Openlayers+Draw实现画笔切换功能,切换画笔为点、线、面
  8. ubuntu每日构建版
  9. [渝粤教育] 广东-国家-开放大学 21秋期末考试成本会计10168k2
  10. 设计模式状态模式uml_UML的完整形式是什么?
  11. 给缺少Python项目实战经验的人,赶紧收藏!
  12. 结合人脸识别元辅助学习的AU单元检测
  13. C++学习随笔之一:基础
  14. WinAPI 字符及字符串函数(12): lstrlen - 串长度
  15. word2016文档在正文分栏情况下而时脚注不分栏
  16. 2020N1叉车司机证考试及N1叉车司机考试软件
  17. Bugku:分析 手机热点
  18. 逆置线性表(线性表)
  19. Echarts地图china.js
  20. 第九届“中国软件杯”大学生软件设计大赛总决赛落幕

热门文章

  1. 冰点还原怎么关闭,这样做靠谱
  2. 源码行数统计工具——cloc
  3. Soft Thresholding 求解优化问题例子
  4. 企业里没有TPM(可信赖平台模块)标准的安全芯片计算机,如何开启BitLocker锁定磁盘,如何备份系统,当系统出现问题又如何恢复,快速恢复又兼顾系统安全
  5. HS项目自助部署教程0208
  6. Millionaire 2008APAC local onsites C
  7. 俞敏洪:人要像树一样活着
  8. 4Fang Web打印组件使用心得
  9. Adhoc版本无法用itunes安装
  10. testdisk windows mac linux,TestDisk for Mac-TestDisk Mac版下载 V7.2|TestDisk Mac版 - 燃文下载站...