当前位置: 首页 > 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.lryc.cn/news/614356.html

相关文章:

  • [GESP202506 五级] 最大公因数
  • 豆包新模型矩阵+PromptPilot:AI开发效率革命的终极方案
  • 矩阵中的最长递增路径-记忆化搜索
  • Maven/Gradle常用命令
  • STM32CubeMX(十二)SPI驱动W25Qxx(Flash)
  • 恶臭气体在线监测仪器:实时、连续监测环境中恶臭气体浓度
  • c++初学day1(类比C语言进行举例,具体原理等到学到更深层的东西再进行解析)
  • (已解决)IDEA突然无法使用Git功能
  • 杂谈 001 · VScode / Copilot 25.08 更新
  • 关于“致命错误:‘https://github.com/....git/‘ 鉴权失败”
  • Spring Boot 结合 CORS 解决前端跨域问题
  • 《常见高频算法题 Java 解法实战精讲(3):排序与二叉树》
  • 2025小程序怎么快速接入美团核销,实现自动化核销
  • Ignite 资源注入核心:GridResourceProcessor 详解
  • Nestjs框架: 接口安全与响应脱敏实践 --- 从拦截器到自定义序列化装饰器
  • PEV2(PostgreSQL Explain Visualizer 2)
  • Windows 定时开关机终极指南
  • 为什么通过CreateThread创建的线程调用C/C++运行库函数不稳定
  • 代码随想录刷题Day26
  • 【Git】企业级使用
  • 路由器不能上网的解决过程
  • GPT-5与国内头部模型厂商主要能力对比
  • GPT-5 全面解析与 DeepSeek 实战对比:推理、工具调用、上下文与成本
  • 汽车电子:现代汽车的“神经中枢“
  • 宁商平台税务新政再升级:精准施策,共筑金融投资新生态
  • ubuntu alias命令使用详解
  • 仅需8W,无人机巡检系统落地 AI 低空智慧城市!可源码交付
  • WSL 安装 Ubuntu
  • HBase的异步WAL性能优化:RingBuffer的奥秘
  • 光猫、路由器和交换机