当前位置: 首页 > news >正文

【洛谷题单】--分支结构(二)

🔥个人主页:@草莓熊Lotso

🎬作者简介:C++研发方向学习者

📖个人专栏: 《C语言》 《数据结构与算法》《C语言刷题集》《Leetcode刷题指南》

⭐️人生格言:生活是默默的坚持,毅力是永久的享受。 

前言:在上篇博客中,我们学习了分支结构题单中的前半部分题,在这篇博客中博主将会继续分享分支结构题单。还是提醒一下,大家最好是有一定的C++的基础再看,这样效果比较好。那么废话不多说,我们来看看这次选择的题目吧。 


目录

1.三位数排序 

2.月份天数 

3.不高兴的津津 

4.买铅笔

 5.三角形分类

6.小玉家的电费 


1.三位数排序 

题目链接:P5715 【深基3.例8】三位数排序 - 洛谷

题目描述: 

输入输出样例: 

代码演示: 

#include<bits/stdc++.h>
using namespace std;
const int N=105;
int a[N];
int main()
{for(int i=0;i<3;i++){cin>>a[i];}sort(a,a+3);for(int i=0;i<3;i++){cout<<a[i]<<' ';}return 0;
}

题目解析: 

  • 利用数组,输入3个数,再用sort函数直接排序,sort函数默认的就是升序排序。注意一个给开始的坐标,一个要给结束坐标的后一位。

2.月份天数 

题目链接:P5716 【深基3.例9】月份天数 - 洛谷

题目描述: 

输入输出样例: 

代码演示: 

#include<bits/stdc++.h>
using namespace std;int get_days(int y, int m)
{int day[]={NULL,31,28,31,30,31,30,31,31,30,31,30,31};int days=day[m];if(m==2&&((y%4==0&&y%100!=0)||y%400==0)) days+=1;return days;
}
int main()
{int y,m; cin>>y>>m;int d=get_days(y,m);cout<<d;return 0;
}

题目解析: 

  • 这题很简单,自定义一个函数,让数组下标对应月份,数组元素设置好每个月多少天。
  • 值得注意的是闰年的2月份有29天,需要特别判定一下,最后直接返回对应月份的天数并输出就行了

3.不高兴的津津 

题目链接:P1085 [NOIP 2004 普及组] 不高兴的津津 - 洛谷

题目描述: 

 输入输出样例:

代码演示:

#include<bits/stdc++.h>
using namespace std;int main(){int max=8,maxi=0;for(int i=1;i<=7;i++){int t1,t2;cin>>t1>>t2;if(max<t1+t2){max=t1+t2;maxi=i;}}cout<<maxi;return 0;
}

题目解析: 

  • 根据题目要求在输入的同时判断符合条件的数据并记录下最大值,最大值坐标,最后直接输出最大值坐标就可以了

4.买铅笔

题目链接:P1909 [NOIP 2016 普及组] 买铅笔 - 洛谷

题目描述: 

输入输出样例: 

 代码演示: 

#include<bits/stdc++.h>
using namespace std;int main()
{int n, a1, b1, a2, b2, a3, b3;cin >> n >> a1 >> b1 >> a2 >> b2 >> a3 >> b3;int a = ceil(1.0 * n / a1) * b1;int b = ceil(1.0 * n / a2) * b2;int c = ceil(1.0 * n / a3) * b3;cout << min({a, b, c});return 0;
}

题目解析:

  •  分别记录下3中方法的计算式,输入值最后利用min函数判断出三种方案的最小值,直接输出就可以了

 5.三角形分类

题目链接:P5717 【深基3.习8】三角形分类 - 洛谷

题目描述: 

输入输出样例: 

代码演示: 

#include<bits/stdc++.h>
using namespace std;
int a[4],b[4];int main(){for(int i=1; i<=3; i++) cin>>a[i];sort(a+1,a+3+1);for(int i=1; i<=3; i++) b[i]=a[i]*a[i];if(a[1]+a[2]<=a[3]){cout<<"Not triangle";return 0;}if(b[1]+b[2]==b[3]) cout<<"Right triangle\n";else if(b[1]+b[2]<b[3]) cout<<"Obtuse triangle\n";else cout<<"Acute triangle\n";if(a[1]==a[2] || a[2]==a[3] || a[3]==a[1]) cout<<"Isosceles triangle\n";if(a[1]==a[2] && a[2]==a[3]) cout<<"Equilateral triangle";return 0;
}

题目解析: 

  • 先利用sort函数给输入的数组元素排序,再根据三角形条件来判断,注意这题先判断是什么角三角形,再判断是等腰还是等边

6.小玉家的电费 

题目链接:P1422 小玉家的电费 - 洛谷

题目描述: 

输入输出样例: 

代码演示: 

#include<bits/stdc++.h>
using namespace std;int main()
{int c;cin>>c;double ans=0;if(c<=150) ans=c*0.4463;if(c>150&&c<=400) ans=150*0.4463+(c-150)*0.4663;if(c>=401) ans=150*0.4463+250*0.4663+(c-400)*0.5663;cout<<fixed<<setprecision(1)<<ans;return 0;
}

 题目解析:

  • 根据题目条件,三种档位计算出最终结果并输出就可以了,没有啥很难的地方,操作起来很简单的

往期回顾: 

【洛谷题单】--顺序结构(一)

【洛谷题单】--顺序结构(二)

【洛谷题单】--分支结构(一)

结语:本篇文章就到此结束了,分支结构题单中的题目都不会很难,刚从C转到C++的朋友们也可以很快上手。这里依旧是提醒一下,大家如果是想打竞赛的话,洛谷这个软件我还是比较推荐的但是针对面试和其它类型题目会更推荐LeetCode和牛客网一些。如果文章对你有帮助的话,欢迎点赞收藏加关注,感谢大家的支持。

http://www.xdnf.cn/news/1259425.html

相关文章:

  • 脚本统计MongoDB集合结构信息
  • CSS BFC
  • 接口返回504 Gateway Time-out 错误,这意味着请求在网关或代理服务器等待上游服务器响应时超时。以下是可能的原因和排查建议:
  • provide 和 inject 最佳实践
  • 前端单元测试最佳实践(一)
  • webrtc弱网-EncodeUsageResource类源码分析及算法原理
  • Web 图像捕获革命:ImageCapture API 全面解析与实战指南
  • HTML 与 CSS:从 “认识标签” 到 “美化页面” 的入门指南
  • 解决苍穹外卖项目中 MyBatis - Plus 版本冲突问题
  • Cisco 2018-2023年度互联网报告深度解析:数字化转型时代的网络发展趋势与战略洞察
  • 计算机毕业设计java疫情开放下的新冠信息共享平台 基于Java的社区疫情防控人员流动管理系统 疫情防控期间社区人员动态管理系统
  • SpringBoot如何固定版本
  • Java 虚拟机之双亲委派机制
  • CSS--:root指定变量,其他元素引用
  • 蓝桥杯----数码管、按键、定时器与中断
  • E频段无线射频链路为5G网络提供高容量回程解决方案 — 第一部分
  • 全球化2.0 | 泰国IT服务商携手云轴科技ZStack重塑云租赁新生态
  • 2025数字马力一面面经(社)
  • 《C语言》函数练习题--3
  • FluentUI-main的详解
  • 【Day 18】Linux-DNS解析
  • 聚水潭API数据接口开发手机端网页查询商品仓位库位库存工具,支持扫描识别,预览图片
  • 第五节 Pyside6可视化界面
  • 支付宝小程序商城怎么搭?ZKmall开源商城教你借力蚂蚁生态做增长
  • C++的入门学习
  • 力扣238:除自身之外数组的乘积
  • 4G/5G无线电单元系统
  • 网络安全与软件定义汽车的发展
  • 计算机视觉前言-----OpenCV库介绍与计算机视觉入门准备
  • 学习嵌入式第二十二天