yuAriellexi 2018-09-02 04:09 采纳率: 100%
浏览 589
已采纳

最后一个用例不通过,1037 在霍格沃茨找零钱

#include <iostream>
int main()
{
    int PG, PS, PK;
    int AG, AS, AK;

    scanf("%d.%d.%d %d.%d.%d", &PG, &PS, &PK, &AG, &AS, &AK);
    int P = PG * 17 * 29 + PS * 29 + PK;
    int A = AG * 17 * 29 + AS * 29 + AK;

    if (A > P)
    {
        printf("%d.%d.%d", (A - P) / 17 / 29 , (A - P) % (17 * 29) / 29, (A - P) %  29);
    }
    else
    {
        printf("-");
        printf("%d.%d.%d", (P - A) / 17 / 29 , ((P - A) % (17 * 29)) / 29, ((P - A) % (17 * 29)) % 29);    
    }
}

1037 在霍格沃茨找零钱(20 分)
如果你是哈利·波特迷,你会知道魔法世界有它自己的货币系统 —— 就如海格告诉哈利的:“十七个银西可(Sickle)兑一个加隆(Galleon),二十九个纳特(Knut)兑一个西可,很容易。”现在,给定哈利应付的价钱 P 和他实付的钱 A,你的任务是写一个程序来计算他应该被找的零钱。

输入格式:
输入在 1 行中分别给出 P 和 A,格式为 Galleon.Sickle.Knut,其间用 1 个空格分隔。这里 Galleon 是 [0, 10
​7
​​ ] 区间内的整数,Sickle 是 [0, 17) 区间内的整数,Knut 是 [0, 29) 区间内的整数。

输出格式:
在一行中用与输入同样的格式输出哈利应该被找的零钱。如果他没带够钱,那么输出的应该是负数。

输入样例 1:
10.16.27 14.1.28
输出样例 1:
3.2.1
输入样例 2:
14.1.28 10.16.27
输出样例 2:
-3.2.1

为什么网上有的答案跟我,我复制进去就全部通过,我的代码却错在最后一个用例,也不知道用例是什么,牛客是全部通过了

  • 写回答

2条回答 默认 最新

  • IzuruKamuku 2018-09-02 06:01
    关注

    楼主没有考虑相等的情况呢, 相等的时候会输出 -0.0.0 呢; 我把楼主代码修改了一下AC了, 望采纳

    ```#include
    #include
    using namespace std;
    int main()
    {
    int PG, PS, PK;
    int AG, AS, AK;

    scanf("%d.%d.%d %d.%d.%d", &PG, &PS, &PK, &AG, &AS, &AK);
    int P = PG * 17 * 29 + PS * 29 + PK;
    int A = AG * 17 * 29 + AS * 29 + AK;
    
    if (A > P)
    {
        printf("%d.%d.%d", (A - P) / 17 / 29 , (A - P) % (17 * 29) / 29, (A - P) %  29);
    }
    else if(A < P)
    {
        printf("-");
        printf("%d.%d.%d", (P - A) / 17 / 29 , ((P - A) % (17 * 29)) / 29, ((P - A) % (17 * 29)) % 29);
    }
    else cout << "0.0.0" << endl;
    

    }

    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
  • ¥70 PlayWright在Java上连接CDP关联本地Chrome启动失败,貌似是Windows端口转发问题
  • ¥15 帮我写一个c++工程
  • ¥30 Eclipse官网打不开,官网首页进不去,显示无法访问此页面,求解决方法
  • ¥15 关于smbclient 库的使用
  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?