题目1025:最大报销额 学习

1

输入

2 A:23.50 B:100.00
1 C:650.00
3 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 3
2 B:600.00 A:400.00
1 C:200.50
1 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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值