7-4 查找书籍 (20分)结构体

该程序设计任务要求根据书籍的名称和定价,找出并输出定价最高和最低的书籍信息。输入包含正整数n和n本书的名称及价格,输出将以'价格, 书名'的格式展示最高和最低价格的书籍。" 22070987,279332,Linux操作系统:消息队列详解与示例,"['Linux', '操作系统', '进程通信', '消息队列']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

给定n本书的名称和定价,本题要求编写程序,查找并输出其中定价最高和最低的书的名称和定价。
输入格式:
输入第一行给出正整数n(<10),随后给出n本书的信息。每本书在一行中给出书名,即长度不超过30的字符串,随后一行中给出正实数价格。题目保证没有同样价格的书。
输出格式:
在一行中按照“价格, 书名”的格式先后输出价格最高和最低的书。价格保留2位小数。
输入样例:
3
Programming in C
21.5
Programming in VB
18.5
Programming in Delphi
25.0

输出样例:
25.00, Programming in Delphi
18.50, Programming in VB

#include<stdio.h>
typedef struct
{
   
       
char name[40];    
double cost
在C语言中,要创建一个用于管理书籍信息的数据结构(如结构体),并实现查找功能,我们可以定义一个名为`Book`的结构体,包含书籍的基本属性,比如书名、作者和ID等。这里提供一个简单的示例: ```c #include <stdio.h> #include <stdlib.h> #include <string.h> // 定义书籍结构体 typedef struct { int id; char title[100]; char author[50]; } Book; // 函数声明:用于添加书籍查找书籍 void add_book(Book *books, int size, Book book); Book* find_book(Book *books, int size, int id); int main() { // 初始化书籍数组和大小 const int MAX_BOOKS = 10; Book books[MAX_BOOKS]; // 添加书籍 Book new_book; printf("Enter book details (ID, Title, Author): "); scanf("%d", &new_book.id); fgets(new_book.title, sizeof(new_book.title), stdin); // 注意处理换行符 fgets(new_book.author, sizeof(new_book.author), stdin); add_book(&books, MAX_BOOKS, new_book); // 查找书籍 int search_id; printf("Search for a book by ID: "); scanf("%d", &search_id); Book* found_book = find_book(books, MAX_BOOKS, search_id); if (found_book) { printf("Found book:\nTitle: %s\nAuthor: %s\n", found_book->title, found_book->author); } else { printf("Book not found.\n"); } return 0; } // 添加书籍到数组 void add_book(Book *books, int size, Book book) { // 检查数组是否已满 if (size == 0) { printf("Array is full, cannot add more books.\n"); return; } // 将新书插入数组 books[size - 1] = book; printf("Book added successfully.\n"); } // 查找书籍函数 Book* find_book(Book *books, int size, int id) { for (int i = 0; i < size; i++) { if (books[i].id == id) { return &books[i]; // 返回指向找到的书的指针 } } return NULL; // 如果没有找到,返回NULL } ``` 在这个例子中,我们首先定义了一个`Book`结构体,然后实现了添加书籍查找书籍的功能。用户可以通过`main`函数进行操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值