杭电acm1070题。绝对水题,各种WA?求大牛们帮忙看看错到哪了、、、

题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1070#include<stdio.h>#include<iostream... 题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1070
#include<stdio.h>
#include<iostream>
using namespace std;
struct milk
{
string ch;
float jg;
int sl;
}leixing1[101];
int main()
{
int ri,repeat,i,j,d,k;
float s,n,min;
string ch1;
cin>>repeat;
for(ri=0;ri<repeat;ri++)
{
min=100000000.0;
cin>>n;
for(i=0;i<n;i++)
{
cin>>leixing1[i].ch>>leixing1[i].jg>>leixing1[i].sl;
}
for(i=0;i<n;i++)
{
if(leixing1[i].sl<200)
continue;
else if(leixing1[i].sl>1000)
{
d=5;
s=leixing1[i].jg/d;
if(s<min||(s==min&&leixing1[k].sl<leixing1[i].sl))
{
min=s;
ch1=leixing1[i].ch;
k=i;
}
}
else
{
d=leixing1[i].sl/200;
s=leixing1[i].jg/d;
if(s<min||(s==min&&leixing1[k].sl<leixing1[i].sl))
{
min=s;
ch1=leixing1[i].ch;
k=i;
}
}
}
cout<<ch1<<endl;
}
return 0;
}
展开
 我来答
porker2008
2012-08-10 · TA获得超过1.4万个赞
知道大有可为答主
回答量:7066
采纳率:62%
帮助的人:1.1亿
展开全部
#include<stdio.h>
#include<iostream>
#include<string> // 添加string库
using namespace std;
struct milk
{
string ch;
double jg; //jg 用double
int sl;
}leixing1[101];
int main()
{
int ri,repeat,i,j,d,k,n; // n 用int
double s,min; // s,min 用double
string ch1;
cin>>repeat;
for(ri=0;ri<repeat;ri++)
{
min=100000000.0;
cin>>n;
for(i=0;i<n;i++)
{
cin>>leixing1[i].ch>>leixing1[i].jg>>leixing1[i].sl;
}
for(i=0;i<n;i++)
{
if(leixing1[i].sl<200)
continue;
else if(leixing1[i].sl>1000)
{
d=5;
s=leixing1[i].jg/d;
if(s<min||(s==min&&leixing1[k].sl<leixing1[i].sl))
{
min=s;
ch1=leixing1[i].ch;
k=i;
}
}
else
{
d=leixing1[i].sl/200;
s=leixing1[i].jg/d;
if(s<min||(s==min&&leixing1[k].sl<leixing1[i].sl))
{
min=s;
ch1=leixing1[i].ch;
k=i;
}
}
}
cout<<ch1<<endl;
}
return 0;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
约克仪器
2024-10-21 广告
测温电桥是测温领域中测量准确度最高的一类电测设备,可以用来精确测量标准铂电阻温度计,电阻温度计和热敏电阻电阻值、部分测温电桥还可以对热电偶进行测量。约克仪器测温电桥2017年4月1日,英国ISOTECH公司由于microK系列测温电桥的技术... 点击进入详情页
本回答由约克仪器提供
fnwzk
2012-08-09 · TA获得超过494个赞
知道小有建树答主
回答量:400
采纳率:0%
帮助的人:437万
展开全部
在第一种情况下,伊利牛奶可以喝了2天,费用10元。蒙牛牛奶可以喝5天,它的成本20元。因此,蒙牛是最便宜的。
在第二种情况下,光明牛奶应该被忽略。烟牌牛奶可以喝5天,但它的成本40元。因此,蒙牛是最便宜的。
如果有超过一个最便宜的品牌,你应该选择容量最大的那个品牌。
追问
这些都考虑了,实在找不出错误的地方,很纠结,麻烦你帮我看看我的代码那错了?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hzx334
2012-08-09
知道答主
回答量:41
采纳率:0%
帮助的人:10.3万
展开全部
AC代码,要小心只能喝五天
#include <iostream>
using namespace std;
struct Node
{
char name[102];
int price;
int ml;
int per;
}Milk[102];
int pri(Node&mi)
{
Node mil = mi;
while (mil.ml > 200)
{
mil.ml -= 200;
mil.per++;
if (mil.per == 5) //最多只能喝5天
{
break;
}
}
return mil.per;
}
int main()
{
int t;
cin>>t;
while (t--)
{
Milk[101].price = 100000;
Milk[101].per = 1;
int n;
cin>>n;
for (int i=0; i<n; ++i)
{
cin>>Milk[i].name>>Milk[i].price>>Milk[i].ml;
Milk[i].per = 0;
}
for (int i=0;i<n; ++i)
{
if(Milk[i].ml < 200)
continue;
else
{
Milk[i].per = pri(Milk[i]);
if(Milk[i].price/Milk[i].per < Milk[101].price/Milk[101].per) //计算性价比
{
Milk[101].price = Milk[i].price;
Milk[101].per = Milk[i].per;
strcpy(Milk[101].name,Milk[i].name);
Milk[101].ml = Milk[i].ml;
continue;
}
if(Milk[i].price/Milk[i].per == Milk[101].price/Milk[101].per) //性价比相同选容量大的
{
if (Milk[i].ml > Milk[101].ml)
{
Milk[101].price = Milk[i].price;
Milk[101].per = Milk[i].per;
strcpy(Milk[101].name,Milk[i].name);
Milk[101].ml = Milk[i].ml;
}
}
}
}
cout<<Milk[101].name<<endl;
}
return 0;
}
追问
AC的代码我有的,我的代码应该是对的,实在找不出错误的地方,很纠结,麻烦你帮我看看我的代码那错了?
追答
真看不出来。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
myqoo02
2012-08-10 · TA获得超过1068个赞
知道小有建树答主
回答量:286
采纳率:0%
帮助的人:125万
展开全部
我提交了下,应该是float jg和float s,n,min的问题,替换为int之后,顺利AC。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式