習題9-4 查詢書籍 (20分)
習題9-4 查詢書籍 (20分)
給定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[31];
double price;
}book;
book Max(book * lib, int n);
book Min(book * lib, int n);
int main()
{
int n;scanf("%d", &n);
book lib[n];
for (int i = 0; i < n; i++)
{
getchar(); //讀取\n
gets(lib[i].name);
scanf("%lf", &lib[i].price);
}
book max = Max(lib, n);
book min = Min(lib, n);
printf("%.2lf, ", max.price);puts(max.name);
printf("%.2lf, ", min.price);puts(min.name);
return 0;
}
book Max(book * lib, int n)
{
int i, max = 0;
for (i = 0; i < n; i++)
{
if (lib[i].price > lib[max].price)
max = i;
}
book ret = {
.price = lib[max].price,
};
i = 0;
while (lib[max].name[i] != 0){
ret.name[i] = lib[max].name[i];
i++;
}
return ret;
}
book Min(book * lib, int n)
{
int i, min = 0;
for (i = 0; i < n; i++)
{
if (lib[i].price < lib[min].price)
min = i;
}
book ret = {
.price = lib[min].price
};
i = 0;
while (lib[min].name[i] != 0){
ret.name[i] = lib[min].name[i];
i++;
}
return ret;
}
相關文章
- 【分模組練習】二分查詢
- java學習書籍Java
- JavaScript 入門學習書籍到階段書籍JavaScript
- 批次分頁查詢問題?
- oracle心得3--多表查詢@分組查詢@子查詢講解與案例分析@經典練習題Oracle
- 學習Javascript的書籍JavaScript
- 分頁查詢的排序問題排序
- 查詢——二分查詢
- 7-1 二分查詢 (20分)
- (MySQL學習筆記)分頁查詢MySql筆記
- Java學習書籍彙總Java
- DBA學習書籍推薦
- Java學習推薦書籍Java
- 金融學書籍列表(學習)
- 力扣刷題-二分查詢力扣
- 分頁查詢的排序問題(二)排序
- 二分查詢 理論 例題
- sql查詢入門練習題SQL
- 分組查詢
- HBase學習之二: hbase分頁查詢
- Python查詢-二分查詢Python
- linux書籍進階學習Linux
- C++學習推薦書籍C++
- 請教批次分頁查詢的問題
- mysql-分組查詢-子查詢-連線查詢-組合查詢MySql
- 二分查詢基礎專題——二分模板
- 小書MybatisPlus第4篇-表格分頁與下拉分頁查詢MyBatis
- 查詢演算法__二分查詢演算法
- [Mysql 查詢語句]——分組查詢group byMySql
- 順序查詢和二分查詢
- 二分查詢(一)——純粹的二分查詢
- Oracle_Day2 查詢練習,以及分頁Oracle
- 書單 | 深度學習修煉祕籍 (文末贈書)深度學習
- Elasticsearch 分頁查詢Elasticsearch
- group by分組查詢
- ssh 分頁查詢
- oracle分頁查詢Oracle
- 二分查詢