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

描述

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

输入

输入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. 并发编程中的大坑:你的直觉有序性问题
  2. 中科创星投资云游九州,布局时空大数据
  3. Python 开发者在迁移到 Go(lang) 时需要知道哪些事?
  4. ABB机器人ROBOTSTUDIO中轨迹与二次开发的问答
  5. 深入解读RabbitMQ工作原理及简单使用
  6. 一个人的简历(林肯)
  7. 【AtCoder】ARC 081 E - Don't Be a Subsequence
  8. java ajaxsubmit_jQuery form插件之ajaxForm()和ajaxSubmit()的可选参数项对象
  9. 单片机课程设计车灯c语言,基于单片机控制的汽车车灯课程设计毕业设计(论文)word格式.doc...
  10. nginx常用配置集锦(持续更新中。。。)
  11. 买不起NAS,用硬盘也可以玩起来
  12. android接入华为推送
  13. 《可转债投资魔法书》:魔法般教会你可转债
  14. 强化学习之Q-learning算法
  15. C语言实现小游戏之井字棋
  16. 华为交换机设置端口聚合的方法
  17. 电信诈骗为何如此难以根治?
  18. 考研院校(转载自西邮学子)
  19. 微量元素不足造成任何重大人体健康的影响
  20. python截图识别文字软件_Python技术: 截图文字识别工具

热门文章

  1. WordPress主题阿里巴巴爱前端
  2. Docker三剑客之docker-compose+wordpress的博客搭建
  3. 北京干细胞研究院“HOPE论坛” 首期 - AI+生命科学 月26日(星期五)14:00-17:30
  4. python09-面向对象高级
  5. 实用技能--python库导出及bat批处理
  6. 爬虫自学day4:requests模块之爬取豆瓣电影分类排行榜
  7. Linux-groups
  8. P1512 伊甸园日历游戏
  9. Vivado如何清理工程并保证不缺失必要文件
  10. 用python分析世界五百强企业数据