题目1025:最大报销额 学习

来源:互联网 发布:淘宝双11宣传视频 编辑:程序博客网 时间:2024/05/22 06:39

1

输入

2 A:23.50 B:100.001 C:650.003 A:59.99 A:120.00 X:10.00
不一定是2位小数  题目没有规定   有可能是 23 100没有小数
一定要注意
2
在处理
2 A:23.50 B:100.00
我用的是string     用的是cin  就比较麻烦
if(mystring.at(0)=='A' ||mystring.at(0)=='B' ||mystring.at(0)=='C' ){                    if(len==7){                        danxiangqian=(mystring.at(2)-'0')*10 +mystring.at(3)-'0'+(mystring.at(5)-'0')*0.1+(mystring.at(6)-'0')*0.01;                        if(danxiangqian <=600.00){                            fapiao_sum[j]=fapiao_sum[j]+danxiangqian;                        }

最好用scanf
scanf(" %c:%lf",&type,&cost);   
注意 (1) lf表示double
     (2) 前面还有一个空格 啊啊啊
3
数据不一定是按顺序来的  比如
1100.00 32 B:600.00 A:400.001 C:200.501 A:100.00
我只能检测到1000不是正确的1100
        for(int i=0;i<N;i++){            zong_sum=zong_sum+fapiao_sum[i];            if(zong_sum>Q){                zong_sum=zong_sum-fapiao_sum[i];                break;            }        }
所以是 没有充分理解题意   不是直接写的
应该用0-1背包(是个啥。。。。)
4
c++输出时可以控制小数位数 不一定用c的printf
比如有(在用浮点表示的输出中,setprecision(n)表示有效位数。
ps: QT调试 看变量  挺费劲的  还是用VS2013吧

0 0
原创粉丝点击