C语言练习——书籍查找(简易版)
【摘要】 C语言练习——书籍查找(简易版)
C语言练习——书籍查找(简易版)
名人说:古之立大事者,不惟有超世之才,亦必有坚忍不拔之志。——苏轼
🐼本篇内容简介:一、问题呈现-->二、源码实现(+详细注释)-->三、输出结果展示
一、问题呈现
1.问题描述
Problem Description
给定n本书的名称和定价,本题要求编写程序,查找并输出其中定价最高和最低的书的名称和定价。
2.输入输出
Input
输入第一行给出正整数n(<10),随后给出n本书的信息。
每本书在一行中给出书名,即长度不超过50的字符串,随后一行中给出正实数价格。
注意:题目保证没有同样价格的书。
Output
在一行中按照“价格, 书名”的格式先后输出价格最高和最低的书。价格保留2位小数。
3.测试样例
1️⃣样例1
Sample Input
3
C Book
24
C++ Book
25
Java Book
26
Sample Output
26.00,Java Book
24.00,C Book
2️⃣样例2
Sample Input
4
C Book
28
C++ Book
30
Java Book
27
Python Book
32
Sample Output
32,Python Book
27,Java Book
二、源码实现(+详细注释)
1.注释版
//编码及注释:Code_流苏
//定义头文件
#include<stdio.h>
#include<stdlib.h>
//书籍查询
struct book
{
char name[50];//书名
double price;//价格
};
//主函数
int main()
{
//定义n 代表书籍的数量
int n;
//定义结构体变量 数组
struct book b[10];
//输入书籍数量
scanf("%d",&n);
int i;
//输入书名和价格
for(i=0;i<n;i++)
{
getchar();
gets(b[i].name);
scanf("%lf",&b[i].price);
}
//定义两个 标记变量 均赋值为0
int flag1=0,flag2=0;
//遍历查找书价最高的 并用flag1存储标记
for(i=1;i<n;i++)
{
if(b[i].price>=b[flag1].price)
flag1=i;
}
//遍历查找书价最低的 并用flag2存储标记
for(i=1;i<n;i++)
{
if(b[i].price<=b[flag2].price)
flag2=i;
}
//输出显示
printf("书籍价格最高的:书价:%.2lf,书名: %s\n",b[flag1].price,b[flag1].name);
printf("书籍价格最低的:书价:%.2lf,书名: %s\n",b[flag2].price,b[flag2].name);
//如果正常返回0 说明程序执行成功 非0 则有出错或异常
return 0;
}
2.简洁版
#include<stdio.h>
#include<stdlib.h>
struct book
{
char name[50];
double price;
};
int main()
{
int n;
struct book b[10];
scanf("%d",&n);
int i;
for(i=0;i<n;i++)
{
getchar();
gets(b[i].name);
scanf("%lf",&b[i].price);
}
int flag1=0,flag2=0;
for(i=1;i<n;i++)
{
if(b[i].price>=b[flag1].price)
flag1=i;
}
for(i=1;i<n;i++)
{
if(b[i].price<=b[flag2].price)
flag2=i;
}
printf("书籍价格最高的:书价:%.2lf,书名: %s\n",b[flag1].price,b[flag1].name);
printf("书籍价格最低的:书价:%.2lf,书名: %s\n",b[flag2].price,b[flag2].name);
return 0;
}
三、输出结果展示
为了使整体内容简洁,此处只展示一组测试数据结果。
1.输出结果
3
C Book
24
C++ Book
25
Java Book
26
书籍价格最高的:书价:26.00,书名: Java Book
书籍价格最低的:书价:24.00,书名: C Book
--------------------------------
Process exited after 0.9845 seconds with return value 0
请按任意键继续. . .
2.输出结果(图示版)
作者:Code_流苏(一个喜欢古诗词和编程的Coder😊)
★喜欢的话,还请多多点赞与关注! 感谢支持!
C语言100题练习专栏计划持续进行,欢迎评论交流学习!
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)