习题9-4 查找书籍

习题9-4 查找书籍

给定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> // 引入标准输入输出库
#include <string.h> // 引入字符串处理库

struct book{ // 定义一个结构体类型book,包含书名和价格两个成员
	char bookname[31]; // 书名,长度为31的字符数组
	double price; // 价格,浮点数类型
}ch[10]; // 定义一个结构体数组ch,包含10个book类型的元素

int main(){ // 主函数
	int n,i; // 定义整型变量n和i
	double max,min; // 定义浮点型变量max和min
	int maxi,mini; // 定义整型变量maxi和mini

	scanf("%d",&n); // 从标准输入读取一个整数,赋值给n
	getchar(); // 读取一个字符,但不使用

	for(i=0;i<n;i++){ // 循环n次
		gets(ch[i].bookname); // 从标准输入读取一行字符串,存储到ch[i].bookname中
		scanf("%lf",&ch[i].price); // 从标准输入读取一个浮点数,赋值给ch[i].price
		getchar(); // 读取一个字符,但不使用
	}

	max=min=ch[0].price; // 将ch[0].price的值赋给max和min
	maxi=mini=0; // 将0赋给maxi和mini

	for(i=1;i<n;i++){ // 循环n-1次
		if(max<ch[i].price){ // 如果ch[i].price大于max
			max=ch[i].price; // 将ch[i].price的值赋给max
			maxi=i; // 将i赋给maxi
		}
		if(min>ch[i].price){ // 如果ch[i].price小于min
			min=ch[i].price; // 将ch[i].price的值赋给min
			mini=i; // 将i赋给mini
		}
	}

	printf("%.2f, %s\n",ch[maxi].price,ch[maxi].bookname); // 打印价格最高的图书的价格和书名
	printf("%.2f, %s",ch[mini].price,ch[mini].bookname); // 打印价格最低的图书的价格和书名
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值