NYOJ 买牛奶(水题)

题目描述

LYH的朋友XY很喜欢喝牛奶,他几乎每天都要喝一袋牛奶。但是XY买牛奶时很讲究,如果不符合他的要求,就算不喝他也不会买的。他一共有两个要求:(1)容量大于300毫升的不买(2)价格大于5元或者小于1.5元的不买。一天,XY又去超市买牛奶了,超市里一共有N种牛奶,并且知道每种牛奶的价格和容量,你能告诉XY他应该买哪些牛奶么?(如果都符合,他会全部买下来,因为XY是土豪)。

输入

先输入一个T,表示有T组测试数据(T≤100)。
每组数据先输入一个N,表示有N种牛奶(N≤15)。
接下来N行,每行输入3项内容,分别代表每种牛奶的名称、价格、容量,每两项内容之间是用空格隔开的。

输出

输出满足XY的要求的牛奶的名称和需要支付的总钱数,钱数保留1位小数。如果一种牛奶都买不了,输出-1。

样例输入

3
3
mengniu  2 120
yili 3 300
telunsu 6 200
5
yili 1.6 150
mengniu 3 200
Telunsu 8 100
Mengniu 2.3 103
Yili 3 200
1
Yili 6 120

样例输出

mengniu
yili
5.0
yili
mengniu
Mengniu
Yili
9.9
-1

提示

如果有多种牛奶符合,则按照输入的先后顺序输出。

分析:只需要先将数据输入,将符合要求的数据存储,并且对价格进行加和最后输出即可。

#include<stdio.h>
const int m1=20;
int n,m,temp;
char name[m1][m1];
double piece,num,sum2;
int sum[m1];
int main()
{
    scanf("%d",&n);
    while(n--)
    {
        temp=0,sum2=0;
       scanf("%d",&m);
       for(int i=0;i<m;i++)
       {
           scanf("%s %lf %lf",name[i],&piece,&num);//输入对应数据
           if(num<=300&&(piece<=5&&piece>=1.5))
            {       //如果数据符合要求,算入总价即可
                sum[temp++]=i;//存储符合要求数据名字的下标
                sum2+=piece;
            }
       }
       if(temp==0)//如果符合要求的数据数量为零 输出-1
       {
           printf("-1\n");
           continue;
       }
       for(int i=0;i<temp;i++)//输出对应符合要求数据的名字
       {
           printf("%s\n",name[sum[i]]);
       }
       printf("%.1lf\n",sum2);
    }
}

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值