当前位置: 首页 > 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.dtcms.com/a/320793.html

相关文章:

  • 为什么需要锁升级?从CPU缓存到JVM的优化艺术
  • Autosar AP中Promise和Future的异步消息通信的详细解析
  • Kotlin 数据容器 - MutableList(MutableList 概述、MutableList 增删改查、MutableList 遍历元素)
  • 【JVM】流程汇总
  • OpenSCA开源社区每日安全漏洞及投毒情报资讯—2025年8月7日
  • OCC 主要库和功能模块
  • AI对互联网公司职位改变?
  • Android 系统的基本安全属性
  • 恒科持续低迷:新能源汽车股下跌成拖累,销量担忧加剧
  • ZCC3094--30V,-500mA超低噪声线性稳压电源
  • HFSS许可证常见问题及解决方案
  • 分享超图提供的、很不错的WebGIS学习资源
  • 分布式微服务--GateWay的断言以及如何自定义一个断言
  • 【昇腾】基于RK3588 arm架构Ubuntu22.04系统上适配Atlas 200I A2加速模块安装EP模式下的驱动固件包_20250808
  • simulink tlc如何通过tlc写数据入文件
  • 三种 SSE 对比
  • 秋招笔记-8.8
  • Django模型开发全解析:字段、元数据与继承的实战指南
  • C++简单项目跟练【通讯录管理系统000】
  • 持中文的 TXT 合并 PDF 工具 —— GUI + ReportLab 实战
  • 基于定制开发开源AI智能名片S2B2C商城小程序的定价策略与市场定位研究
  • UniApp Vue3 TypeScript项目中使用xgplayer播放m3u8视频的显示问题
  • AI学习笔记三十五:实时传输视频
  • webrtc弱网-EncodeUsageResource类源码分析及算法原理
  • Baumer相机如何通过YoloV8深度学习模型实现高速公路车辆的实时检测计数(C#代码UI界面版)
  • 云原生时代的 Linux:容器、虚拟化与分布式的基石
  • 深入理解VideoToolbox:iOS/macOS视频硬编解码实战指南
  • 微软公布Windows 2030,要彻底淘汰鼠标、键盘
  • token过期为了保证安全,refresh token不过期,那么拿到refresh token就可以获取token,不还是不安全吗
  • 今日行情明日机会——20250808