C语言100题练习计划——书籍查找(简易版)
名人说:古之立大事者,不惟有超世之才,亦必有坚忍不拔之志。——苏轼
🐼本篇内容简介:一、问题呈现-->二、源码实现(+详细注释)-->三、输出结果展示
🥇C语言100题练习专栏计划:目的:巩固练习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.注释版
#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;
}
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题练习计划进行中:C语言100题计划系列专栏 ★喜欢的话,还请多多点赞与关注! 感谢支持! C语言100题练习专栏计划持续进行,欢迎评论交流学习! 多思,多练,多总结,坚持下去会有收获的!
|