6. 基于顺序存储结构的图书信息表的最爱图书的查找

el/2024/5/23 1:51:31

题目描述

 

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

 

输入描述

 

总计n+m+2 行。首先输入n+1 行,其中,第一行是图书数目n,后行是本图书的信息(书号、书名、价格),每本图书信息占一行,书号、书名、价格用空格分隔,价格之后没有空格。其中书号和书名为字符串类型,价格为浮点数类型。然后输入m+1 行,其中,第一行是一个整数m,代表查找次,后行是每次待查找的最爱图书名字。   

 

输出描述

 

若查找成功:

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

若查找失败:

 只输出以下提示:抱歉,没有你的最爱!   

 

样例输入

<span style="color:#515a6e"><span style="color:#2c3e50"><span style="color:#515a6e"><span style="color:#263238">6
9787302257646 程序设计基础 25.00
9787302164340 程序设计基础(第2版) 20.00
9787302219972 单片机技术及应用 32.00
9787302203513 单片机原理与应用技术 26.00
9787810827430 工业计算机控制技术——原理与应用 29.00
9787811234923 汇编语言程序设计教程 21.00
2
数据结构
程序设计基础</span></span></span></span>

样例输出

<span style="color:#515a6e"><span style="color:#2c3e50"><span style="color:#515a6e"><span style="color:#263238">抱歉,没有你的最爱!
1
9787302257646 程序设计基础 25.00</span></span></span></span>
/*** main函数返回值不能为void,否则会汇编出错,请使用int main(),并在最后return 0。* 虽然VC等windows下的编译器支持,但C/C++标准中不允许使用void main()!*/
#include<stdio.h>
#include<string.h>
//书结构体
typedef struct{char no[20];char name[50];float price;
}Book;int main(){Book book[20];int n,m,num[10],a=0;scanf("%d",&n);//输入书int i=0;for(;i<n;i++){scanf("%s %s %f",&book[i].no,&book[i].name,&book[i].price);}//查找个数scanf("%d",&m);//放书名int j=0;for(;j<m;j++){scanf("%s",&book[j+n].name);}//对比查找int x=0;for(;x<m;x++){int y=0;for(;y<n;y++){int b=strcmp(book[x+n].name,book[y].name);if(!b){a++;num[a]=y;}}if(!a)printf("抱歉,没有你的最爱!\n");}//输出printf("%d\n",a);int z=1;for(;z<=a;z++){n=num[z];printf("%s %s %.2f\n",book[n].no,book[n].name,book[n].price);}return 0;
}

 


http://www.ngui.cc/el/2274306.html

相关文章

1. 基于链式存储结构的图书信息表的逆序存储

题目描述 定义一个包含图书信息&#xff08;书号、书名、价格&#xff09;的链表&#xff0c;读入相应的图书数据来完成图书信息 表的创建&#xff0c;然后将读入的图书逆序存储&#xff0c;逐行输出逆序存储后每本图书的信息。 输入描述 输入 n1 行&#xff0c;第一行是图…

Java小白必看

java 编程基础 c:低级语言 应用于底层 执行效率高 java: 高级语言 应用层编程 执行效率低 JAVA开发环境搭建: jdk:java开发工具集 开发java程序和运行java程序必需的 jdk=库文件+编译器等工具+jvm(java虚拟机) jdk的安装: 1、双击安装 不要…

树阶段性考试

第六章 树阶段性考试(计科) *1.把一棵树转换为二叉树后,这棵二叉树的形态是A 唯一的 有多种 有多种,但根结点都没有左孩子 有多种,但根结点都没有右孩子 *2.一棵完全二叉树上有1001个结点,其中叶子结点的个数是D 250 500 254 501 *3.一个具有1025个结点的二叉树…

80c51单片机指令大全

助记符操作数指令说明字节数周期数&#xff08;数据传递类指令&#xff09;    MOVA&#xff0c;Rn寄存器传送到累加器11MOVA&#xff0c;direct直接地址传送到累加器21MOVA&#xff0c;Ri累加器传送到外部RAM(8 地址)11MOVA&#xff0c;#data立即数传送到累加器21MOVRn&am…

Nginx安装手册(非常详细)

Nginx安装手册 一、nginx安装环境 nginx是C语言开发,建议在linux上运行,本教程使用Centos6.5作为安装环境。 gcc 安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gcc:yum install gcc-c++ PCRE PCRE(Perl Compatible Regular Expr…

Windows Java开发环境安装配置

Windows Java开发环境安装配置 Windows 中安装设置Windows环境, 需要两个步骤: 下载安装配置JDK下载安装配置开发环境Eclipse下载安装配置JDK 1. 用浏览器访问 http://www.oracle.com 网站, 选择Java开发工具下载:

sql server建库建表插入数据查询代码

CREATE DATABASE 学生 ONPRIMARY (NAME 学生_data,FILENAMEC:\DB\学生_DATA.MDF, SIZE15MB,MAXSIZE30MB,FILEGROWTH20%) log ON(NAME 学生_LOG,FILENAMEC:\DB\学生_LOG.LDF,SIZE3MB,MAXSIZE10MB,FILEGROWTH1MB)USE 学生 GOCREATE TABLE STUDENT(SNO CHAR(5) PRIMARY KEY,SNAME…

Oracle日期综合练习

Oracle日期综合练习&#xff1a; 按照’2009-4-11 20:35:10’ 格式显示系统时间 select to_char(sysdate,’YYYY-MM-DD HH24:MI:SS’) from dual; 需要显示职员的入职时间格式为’17 of 10月 2004’&#xff0c;sql语句如何写 select hiredate,to_char(hiredate,DD "o…

房屋租赁合同

房屋租赁合同 出租方(甲方): 身份证号码: 承租方(乙方): 身份证号码&#xff1a; 根据《中国人民共和国合同法》及其他相关法律、法规规定&#xff0c;甲乙双方在平等、自愿、协商一致的基础上&#xff…

sql语句上机练习

学生表 课程表 选课表 用SQL语句做如下操作&#xff1a; 1&#xff0e;在“学生表”中&#xff0c;找出性别为“男”的学生记录&#xff0c;字段包括“姓名”、“出生日期”和“专业”。 2&#xff0e;在“课程表”中&#xff0c;找出“课程名”中包含“计算机”三个字的课程…