浴谷刷题答案(二)——顺序与分支

你离开我真会死。 提交于 2020-01-23 18:19:38

P1422 小玉家的电费

题目描述

夏天到了,各家各户的用电量都增加了许多,相应的电费也交的更多了。小玉家今天收到了一份电费通知单。小玉看到上面写:据闽价电[2006]27号规定,月用电量在150千瓦时及以下部分按每千瓦时0.4463元执行,月用电量在151~400千瓦时的部分按每千瓦时0.4663元执行,月用电量在401千瓦时及以上部分按每千瓦时0.5663元执行;小玉想自己验证一下,电费通知单上应交电费的数目到底是否正确呢。请编写一个程序,已知用电总计,根据电价规定,计算出应交的电费应该是多少。

代码

#include <iostream>
int main()
{
	using namespace std;
	int num;
	double tax;
	cin >> num;
	if (num > 150)
		if (num >400)
			tax = 0.4463 * 150 + 0.4663 * 250 + 0.5663 * (num - 400);
		else
			tax = 0.4463 * 150 + 0.4663 * (num - 150);
	else 
		tax = 0.4463 * num;
	tax = int ((tax * 10) + 0.5) / 10.0;
	cout << tax;
	return 0;
}

P1085 不高兴的津津

题目描述

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

代码

#include <iostream>
int main()
{
	using namespace std;
    int a;
    int b;
    int t;
    int max = 0;
    int answer = 0;
    for (int i = 1; i < 8; i++)
    {
        cin >> a >> b;
        t = a + b;
        if (t > 8 && t > max)
        {
            max = t;
            answer = i;
        }
    }
    cout << answer;
	return 0;
}

P1089 津津的储蓄计划

题目描述

津津的零花钱一直都是自己管理。每个月的月初妈妈给津津300300元钱,津津会预算这个月的花销,并且总能做到实际花销和预算的相同。

为了让津津学习如何储蓄,妈妈提出,津津可以随时把整百的钱存在她那里,到了年末她会加上20%20%还给津津。因此津津制定了一个储蓄计划:每个月的月初,在得到妈妈给的零花钱后,如果她预计到这个月的月末手中还会有多于100100元或恰好100100元,她就会把整百的钱存在妈妈那里,剩余的钱留在自己手中。

例如1111月初津津手中还有8383元,妈妈给了津津300300元。津津预计1111月的花销是180180元,那么她就会在妈妈那里存200200元,自己留下183183元。到了1111月月末,津津手中会剩下33元钱。

津津发现这个储蓄计划的主要风险是,存在妈妈那里的钱在年末之前不能取出。有可能在某个月的月初,津津手中的钱加上这个月妈妈给的钱,不够这个月的原定预算。如果出现这种情况,津津将不得不在这个月省吃俭用,压缩预算。

现在请你根据2004年1月到12月每个月津津的预算,判断会不会出现这种情况。如果不会,计算到2004年年末,妈妈将津津平常存的钱加上20%还给津津之后,津津手中会有多少钱。

#include <iostream>
int main()
{
	using namespace std;
	int plan;
	int last = 0;
	int result = 0;
	int save = 0;
	for ( int i = 0; i < 12; i++)
	{
		cin >> plan;
		last = 300 + last - plan;
		if (last < 0)
		{
			result = - i - 1;
			break;
		}
		else
		{
			save = save + last / 100;
			last = last % 100;
		}
	}
	if (result ==0)
		result = 120 * save + last;
	cout << result;
	return 0;
}

P1909 买铅笔

题目描述

P老师需要去商店买n支铅笔作为小朋友们参加NOIP的礼物。她发现商店一共有 33种包装的铅笔,不同包装内的铅笔数量有可能不同,价格也有可能不同。为了公平起 见,P老师决定只买同一种包装的铅笔。

商店不允许将铅笔的包装拆开,因此P老师可能需要购买超过nn支铅笔才够给小朋 友们发礼物。

现在P老师想知道,在商店每种包装的数量都足够的情况下,要买够至少nn支铅笔最少需要花费多少钱。

#include <iostream>
int main()
{
	using namespace std;
	int a, b, c, num, money, min = 20000000;
	cin >> a;
	for (int i = 0; i < 3; i++)
	{
		cin >> b >> c;
		num = ( a + b - 1) / b;
		money = num * c;
		if (money < min)
			min = money;
	}
	cout << min;
	return 0;
}
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!