一本通编程启蒙例17及练习题解

例17.1

假设你只有1面需要打印,但还是需要1页纸
故可得,你需要的纸张是面数除以2,向上取整的结果

#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
int n;
int main() {
	cin >> n;
	cout << ceil(n / 2.0);

	return 0;
}

例17.2

这道题目要求计算蜗牛在爬行过程中所需的菜叶总量。根据题目描述,蜗牛在前6厘米每爬行1厘米需要吃5毫克的菜叶,超过6厘米的部分每1厘米需要吃7毫克的菜叶。因此,我们可以分两种情况计算菜叶的总量:

1.如果蜗牛爬行的距离n小于等于6厘米,则总量为爬行距离n乘以5毫克;
2.如果蜗牛爬行的距离n大于6厘米,则总量为30毫克(前6厘米的菜叶总量)加上超过6厘米的部分(n-6)乘以7毫克。

#include <bits/stdc++.h> 

using namespace std; 

int n;  // 定义整数变量n,表示蜗牛爬行的距离

int main(){
	cin >> n;  // 输入蜗牛爬行的距离
	if(n <= 6)  // 如果距离小于等于6厘米
		cout << n * 5;  // 输出菜叶总量为距离乘以5毫克
	else  // 否则
		cout << 30 + (n - 6) * 7;  // 输出菜叶总量为30毫克加上超过6厘米的部分乘以7毫克
	
	return 0;  
}

例17.3

这道题目要求判断黄蓉是否能在规定的时间内得救。已知每个单位时间内可以逼出m点毒,而黄蓉一共中了n点毒。因此,我们可以通过判断逼出的毒的总量是否大于等于黄蓉中毒的总量来确定是否能得救:

1.如果逼出的毒的总量(t * m)小于黄蓉中毒的总量n,则黄蓉无法在规定时间内得救,输出"no";
2.如果逼出的毒的总量(t * m)大于等于黄蓉中毒的总量n,则黄蓉能在规定时间内得救,输出"yes"。

#include <bits/stdc++.h>  

using namespace std;  

long long t, n, m;  // 变量t、n、m,分别表示时间、黄蓉中毒总量、每单位时间逼出的毒量

int main(){
	cin >> t >> n >> m;  // 输入时间、中毒总量、每单位时间逼出的毒量
	if(t * m < n)  // 如果逼出的毒的总量小于黄蓉中毒的总量
		cout << "no";  // 输出"no"
	else  // 否则
		cout << "yes";  // 输出"yes"
	
	return 0;  
}

练17.1

输入字符,用整型变量保存,即可获取ASCLL码值
最后判断奇偶即可

#include <iostream>
using namespace std;
int main ()
{
	char b;
	cin>>b;
	int a=b;
	if(a%2==0)
		cout<<"NO";
	else
		cout<<"YES";
	return 0;
}

练17.2

1.当人小于30的时候,每人50元
2.否则每人48元

#include <bits/stdc++.h>
using namespace std;
long long n;
int main(){
	cin >> n;
	if(n < 30)
		cout << n * 50;
	else
		cout << n * 48;
	
	return 0;
}

练17.3

简单做法大家都会,那就来加大一丢丢难度吧!
实际直接输入之后,判断大小,如果a>b,则交换a、b的值输出即可
这里用了sort函数从小到大对输入的两个数进行了排序

#include <bits/stdc++.h>
using namespace std;
long long a[3];
int main(){
	cin >> a[1] >> a[2];
	sort(a , a + 3);
	cout << a[1] << ' ' << a[2];
	return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值