为了应对考试,重新复习学习c语言编程,重新开始新手村。。。此系列仅供记录

P1422 小玉家的电费

题目描述

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

输入格式

输入一个整数,表示用电总计(单位以千瓦时计),不超过10000。

输出格式

输出一个数,保留到小数点后1位(单位以元计,保留到小数点后1位)。

输入输出样例

输入

267

输出

121.5

#include "stdio.h"
int main()
{
    int a;
    float b=0;
    scanf("%d", &a);
    if (a <= 150)
    {
        b = a * 0.4463;
    }
    if (a >= 151 && a <= 400)
    {
        b = 0.4463 * 150 + (a - 150) * 0.4663;
    }
    if(a>401)
    {
        b = 0.4463 * 150 + 250 * 0.4663 + (a - 400) * 0.5663;
    }
    printf("%.1f", b);
    return 0;
}


P1085 不高兴的津津

题目描述

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

输入格式

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

输出格式

一个数字。如果不会不高兴则输出0,如果会则输出最不高兴的是周几(用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题

#include "stdio.h"
int main()
{
    int a[7], b[7], c=0, i, max=0;
    for (i = 0; i < 7; i++)
    {
        scanf("%d%d", &a[i], &b[i]);
        if (a[i] + b[i] > 8 && a[i]+b[i]>max)
        {
            max = a[i] + b[i];
            c = i+1;
        }
    }
    printf("%d", c);
    return 0;
}


P1089 津津的储蓄计划

题目描述

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

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

例如11月初津津手中还有83元,妈妈给了津津300元。津津预计11月的花销是180元,那么她就会在妈妈那里存200元,自己留下183元。到了11月月末,津津手中会剩下33元钱。

津津发现这个储蓄计划的主要风险是,存在妈妈那里的钱在年末之前不能取出。有可能在某个月的月初,津津手中的钱加上这个月妈妈给的钱,不够这个月的原定预算。如果出现这种情况,津津将不得不在这个月省吃俭用,压缩预算。
现在请你根据2004年1月到12月每个月津津的预算,判断会不会出现这种情况。如果不会,计算到2004年年末,妈妈将津津平常存的钱加上20%还给津津之后,津津手中会有多少钱。

输入格式

12行数据,每行包含一个小于350的非负整数,分别表示1月到12月津津的预算。

输出格式

一个整数。如果储蓄计划实施过程中出现某个月钱不够用的情况,输出-X,X表示出现这种情况的第一个月;否则输出到20042004年年末津津手中会有多少钱。
注意,洛谷不需要进行文件输入输出,而是标准输入输出。

输入输出样例

输入

290
230
280
200
300
170
340
50
90
80
200
60

输出

-7

输入

290
230
280
200
300
170
330
50
90
80
200
60

输出

1580

#include "stdio.h"
int main()
{
    int hua, ziji = 0, h = 0;
    for (int i = 1; i <= 12; i++)
    {
        scanf("%d", &hua);
        ziji = ziji + 300 - hua;
        if (ziji < 0)
        {
            printf("-%d", i);
            return 0;
        }
        else
        {
            h = ziji / 100 + h;
            ziji = ziji % 100;
        }
    }
    printf("%d", 120 * h + ziji);
    return 0;
}


P1909 买铅笔

题目描述

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

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

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

输入格式

第一行包含一个正整数n,表示需要的铅笔数量。

接下来三行,每行用2个正整数描述一种包装的铅笔:其中第1个整数表示这种 包装内铅笔的数量,第2个整数表示这种包装的价格。

保证所有的7个数都是不超过10000的正整数。

输出格式

11个整数,表示P老师最少需要花费的钱。

输入输出样例

输入

57
2 2
50 30
30 27

输出

54

输入

9998
128 233
128 2333
128 666

输出

18407

输入

9999
101 1111
1 9999
1111 9999

输出

89991

说明/提示

铅笔的三种包装分别是:

2支装,价格为2;
50支装,价格为30;
30支装,价格为27。
P老师需要购买至少57支铅笔。
如果她选择购买第一种包装,那么她需要购买29份,共计2×29=58支,需要花费的钱为2×29=58。
实际上,P老师会选择购买第三种包装,这样需要买22份。虽然最后买到的铅笔数 量更多了,为30×2=60支,但花费却减少为27×2=54,比第一种少。
对于第二种包装,虽然每支铅笔的价格是最低的,但要够发必须买22份,实际的花费达到了30×2=60,因此P老师也不会选择。
所以最后输出的答案是54。

【子任务】

子任务会给出部分测试数据的特点。如果你在解决题目中遇到了困难,可以尝试 只解决一部分测试数据。
每个测试点的数据规模及特点如下表:
测试点
上表中“整倍数”的意义为:若为KK,表示对应数据所需要的铅笔数量nn—定是每种包装铅笔数量的整倍数(这意味着一定可以不用多买铅笔)。

#include<stdio.h>
int main() {
    int n;
    scanf("%d", &n);
    int i;
    int min = 0;
    int a[3];
    int b[3];
    for (i = 0; i < 3; i++) {
        scanf("%d%d", &a[i], &b[i]);
        int N = 0;
        int sum = 0;
        while (1) {
            N += a[i];
            sum += b[i];
            if (N >= n) {
                break;
            }
        }
        if (i == 0)    min = sum;
        if (min > sum)    min = sum;
    }
    printf("%d", min);
    return 0;
}

最后修改:2020 年 03 月 12 日 06 : 47 PM