例19.1
1.首先,我们需要读入一个正整数 a,表示笼子里面脚的总数。
2.接下来,我们需要计算笼子里面至少有多少只动物和至多有多少只动物。
根据题目描述,鸡有 2 只脚,兔子有 4 只脚。
3.我们可以利用以下规律进行计算:
如果脚的总数 a 为奇数,那么无法满足要求,输出 “0 0”;
如果脚的总数 a 为偶数,那么最少的动物数为 floor(a / 4.0) + (a % 4) / 2,最多的动物数为 a / 2。
4.最后,输出最少的动物数和最多的动物数。
规律如何出?且用纸笔书!
(哇塞,还押韵了,我太厉害了!!!)
#include <bits/stdc++.h>
using namespace std;
long long n; // 声明一个长整型变量 n
int main(){
cin >> n; // 读入脚的总数
if(n % 2) // 如果脚的总数为奇数,无法满足要求
cout << "0 0";
else
cout << floor(n / 4.0) + n % 4 / 2 << ' ' << n / 2; // 计算最少和最多的动物数
return 0;
}
例19.2
1.首先,我们需要读入两个整数 n 和 m,分别表示身高(单位为厘米)和体重(单位为千克)。
2.接下来,我们需要根据身高和体重判断某人的身材是否标准。
3.根据题目描述,标准体重为 (身高 - 100) × 0.9。
4.我们可以利用以下规律进行判断:
- 如果实际体重超过标准体重的 1.1 倍,则认为是肥胖;
- 如果实际体重小于标准体重的 0.9 倍,则认为是瘦;
- 否则,认为是标准范畴。
#include <bits/stdc++.h>
using namespace std;
long long n, m, a; // 声明三个长整型变量 n、m 和 a
int main(){
cin >> n >> m; // 读入身高和体重
a = (n - 100) * 0.9; // 计算标准体重
if(a * 1.1 < m) // 如果实际体重超过标准体重的 1.1 倍,则认为是肥胖
cout << "fat";
else if(a * 0.9 > m) // 如果实际体重小于标准体重的 0.9 倍,则认为是瘦
cout << "thin";
else // 否则,认为是标准范畴
cout << "standard";
return 0;
}
例19.3
这不是之前那道从小到大输出嘛,用的min函数。
既然做过,那就加大一丢丢代码难度吧!
#include <bits/stdc++.h>
using namespace std;
double a[4];
int main(){
cin >> a[1] >> a[2] >> a[3];
sort(a, a + 4);
for(int i = 1; i <= 3; i ++)
cout << a[i] << ' ';
return 0;
}
练19.1
这…应该很简单对吧?直接对比输出即可
#include <iostream>
using namespace std;
int main()
{
int x,y;
cin>>x>>y;
if (x>y)
cout<<">"<<endl;
else if (x==y)
cout<<"="<<endl;
else if (x<y)
cout<<"<"<<endl;
return 0;
}
练19.2
这不是…跟上面的差不多,我们只要for循环逆向输出即可啦!
不会的话用max函数(就是把之前的min改成max就行啦)
#include <bits/stdc++.h>
using namespace std;
double a[4];
int main(){
cin >> a[1] >> a[2] >> a[3];
sort(a, a + 4);
for(int i = 3; i; i --)
cout << a[i] << ' ';
return 0;
}
练19.4
1.首先,我们需要读入一个整数 c,表示一次办事要行走的距离,单位为米。
2.接下来,我们需要判断是骑车快还是走路快。
根据题目描述,找到自行车、开锁并骑上自行车的时间为27秒,停车锁车的时间为23秒,步行每秒行走1.2米,骑车每秒行走3.0米。
3.我们可以根据以下规律进行判断:
- 如果骑车所需时间(c / 3.0 + 50)小于步行所需时间(c / 1.2),则认为骑车快;
- 如果骑车所需时间大于步行所需时间,则认为走路快;/li>
- 如果骑车所需时间等于步行所需时间,则认为一样快。
4.根据判断结果输出相应的结果。
#include <iostream>
using namespace std;
int main(){
int c; // 声明一个整型变量 c
cin >> c; // 读入一次办事要行走的距离
if (c / 3.0 + 50 < c / 1.2) // 如果骑车所需时间小于步行所需时间,骑车快
cout << "Bike" << endl;
if (c / 3.0 + 50 > c / 1.2) // 如果骑车所需时间大于步行所需时间,走路快
cout << "Walk" << endl;
if (c / 3.0 + 50 == c / 1.2) // 如果骑车所需时间等于步行所需时间,一样快
cout << "All" << endl;
return 0;
}
练19.5
这道题是不是很简单呢?
输入月、日
题目说1月1日至1月24日为鼠,说明当属鼠的条件有以下两个:
1.月份为1
2.日小于24
(满足为鼠,不满足为猪)
#include <bits/stdc++.h>
using namespace std;
long long a, b, c;
int main(){
cin >> a >> b;
if(a == 1 and b <= 24)
cout << "Pig";
else
cout << "Mouse";
return 0;
}