洛谷题单题讲解系列:①【入门2】分支结构(1)

今天来讲一下入门2分支结构的我认为比较好讲的题给大家来讲个明白。

首先第一道是

P5714 【深基3.例7】肥胖问题

很简单,但是不读题的人会被坑,比如我

不要在意那些细节。

他题目中已经给你了BMI怎么算,你直接算出BMI再比较就行了。

为了避免看我文章的观众不知道这一题,我把题面复制到我的文章里(附解析代码)

题目描述

BMI 指数是国际上常用的衡量人体胖瘦程度的一个标准,其算法是 m/h^2(40\le m \le 120, 1.4 \le h \le 2.0)m/h2(40≤m≤120,1.4≤h≤2.0),其中 mm 是指体重(千克),hh 是指身高(米)。不同体型范围与判定结果如下:

  • 小于 18.5:体重过轻,输出 Underweight
  • 大于等于 18.5 且小于 24:正常体重,输出 Normal
  • 大于等于 24:肥胖,不仅要输出 BMI 值(使用 cout 的默认精度),然后换行,还要输出 Overweight

现在给出体重和身高数据,需要根据 BMI 指数判断体型状态并输出对应的判断。

对于非 C++ 语言,在输出时,请四舍五入保留六位有效数字输出,如果小数部分存在后缀 00,不要输出后缀 00。

请注意,保留六位有效数字不是保留六位小数。例如 114.5149114.5149 应该输出为 114.515114.515,9198.109198.10 应该输出为 9198.19198.1。

输入格式

共一行。

第一行,共 22 个整数,m,nm,n,分别表示体重(单位为 kgkg),身高(单位为 mm)。

输出格式

输入输出样例

输入

70 1.72

输出 

Normal

说明/提示

m 和 h 均不超过 3 位小数

#include<iostream>
using namespace std;
int main()
{
	double m,h;cin>>m>>h;//注意一下都是浮点数
	double bmi=m/h/h;//按题目要求去括号把BMI算出来
	if(bmi<18.5){
		cout<<"Underweight";
	}else if(bmi<24){
		cout<<"Normal";
	}else{
		cout<<bmi<<endl;
		cout<<"Overweight";
	}//以上均为题面判断
	return 0;
}

去括号来给大家说明一下:m/h²=m/(h*h)=m/h/h;

好了话不多说第二题:

[NOIP2004 普及组] 不高兴的津津

好家伙我看完直呼这难道是普及组的题,

这也-------太简单了吧------------------

我看了看深入浅出,我建议不要写那种太长的代码,主要是费手用,用循环ta不香吗??

但是毕竟深入浅出是给0基础从前往后学习的,他们还不知道有循环这个东西呢。

我给你们复制题面+正确代码

#include<iostream>
using namespace std;
int main()
{
	int a,b;//输入对象
	for(int i=1;i<=8;++i) {
		cin>>a>>b;
		if(a+b>8){//如果津津感觉不爽
			cout<<i;//直接输出
			return 0;//end程序
		}
	}
	return 0;
}

题目描述

津津上初中了。妈妈认为津津应该更加用功学习,所以津津除了上学之外,还要参加妈妈为她报名的各科复习班。另外每周妈妈还会送她去学习朗诵、舞蹈和钢琴。但是津津如果一天上课超过八个小时就会不高兴,而且上得越久就会越不高兴。假设津津不会因为其它事不高兴,并且她的不高兴不会持续到第二天。请你帮忙检查一下津津下周的日程安排,看看下周她会不会不高兴;如果会的话,哪天最不高兴。

输入格式

输入包括77行数据,分别表示周一到周日的日程安排。每行包括两个小于1010的非负整数,用空格隔开,分别表示津津在学校上课的时间和妈妈安排她上课的时间。

输出格式

一个数字。如果不会不高兴则输出00,如果会则输出最不高兴的是周几(用1, 2, 3, 4, 5, 6, 71,2,3,4,5,6,7分别表示周一,周二,周三,周四,周五,周六,周日)。如果有两天或两天以上不高兴的程度相当,则输出时间最靠前的一天。

输入输出样例

输入

5 3
6 2
7 2
5 3
5 4
0 4
0 6

输出 

3

说明/提示

noip2004普及组第1题

2021-10-27:增加一组hack数据

好的这是今天的博客,我明天发【入门2】分支结构(2)的讲解,希望我的文章能给大家带来帮助,期待着你的关注。我们下期再见!

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值