PAT B1020或者A1070 月饼注意设置看清数据类型
来源:互联网 发布:光纤网络组成 编辑:程序博客网 时间:2024/05/17 06:55
//ac了! //更改了need和kind两个变量名 就好了。。为什么。要注意D也必须是浮点数型,因为月饼库存是浮点型,减的结果也要是浮点型 //更改了结构体中的quantity为float,然后就只剩下一个段错误 //25分的题得了21分,还有4分不知道怎么回事,一个答案错误,一个段错误 //注意每种月饼总金额是浮点数 #include<cstdio>#include<algorithm>using namespace std;struct Cake{float quantity;float per,sumpr;}cake[1001]; bool cmp(Cake a,Cake b){return a.per>b.per;//似乎是这里有问题啊,小数不能这样直接判断吧! }int main(){int n;float D;scanf("%d%f",&n,&D);//月饼种类和需求量for(int i=0;i<n;i++){scanf("%f",&cake[i].quantity);}for(int i=0;i<n;i++){scanf("%f",&cake[i].sumpr);cake[i].per=cake[i].sumpr/cake[i].quantity;//要转化成浮点数llf }sort(cake,cake+n,cmp);float ans=0.0;//int i=0;/*while(need>0){if(need>=cake[i].quantity){ans+=cake[i].sumpr;need-=cake[i].quantity;}else{ans+=cake[i].per*need;//cake[i].quantity-=need;break;}i++;}*/for(int i=0;i<n;i++){if(cake[i].quantity<=D){D-=cake[i].quantity;//这样减的话必须D也为小数了 ans+=cake[i].sumpr;}else{ans+=D*cake[i].per;break;}}printf("%.2f\n",ans);return 0;}
0 0
- PAT B1020或者A1070 月饼注意设置看清数据类型
- PAT B1020. 月饼 (25)
- PAT-B1020.月饼
- PAT B1020.月饼
- PAT乙级练习题B1020. 月饼
- PAT:B1020. 月饼 (25/25)
- A1070/B1020 Mooncake (25)
- B1020.月饼
- PAT A1070
- PAT-A1070
- B1020. 月饼 (25)
- B1020. 月饼 (25’)
- B1020. 月饼 (25)
- [PAT] B1020
- PAT B1020
- PAT B1020
- pat-a1070. Mooncake (25)
- PAT a1070题解
- JSON.parse()和JSON.stringify()
- jdbc 自己理解
- Map遍历的4种方法
- PhpExcel中文帮助手册|PhpExcel使用方法
- perl 格式化
- PAT B1020或者A1070 月饼注意设置看清数据类型
- 1044. Shopping in Mars
- 理想低通滤波器、巴特沃斯低通滤波器和高斯低通滤波器
- Linux设备模型——设备驱动模型和sysfs文件系统解读
- FFmpeg源代码简单分析:avformat_find_stream_info()
- IOS学习 performSelectorOnMainThread 和detachNewThreadSelector的使用
- IE8 下的文件上传问题
- 2014年最受欢迎的6个前端开发框架
- Go语言操作Redis