鱼饲料 2021-08-26 12:53 采纳率: 100%
浏览 57
已结题

12枚硬币分组称重,判断哪一枚硬币自己假币,重了还是轻了.

int main() {
int t;
cin >> t;
while (t--) {
for (int i = 0; i < 3; ++i)cin >> Left[i] >> Right[i] >> Result[i];
for (char c = 'A'; c <= 'L'; c++) {
if (IsFake(c, true)) {
cout << c << "is light.\n";
break;

        }
        else if (IsFake(c, false)) {
            cout << c << "is heavy.\n";
            break;
        }

    }

}

}
bool IsFake(char c, bool light)
{
for (int i = 0; i < 3; ++i) {
char*pLeft, *pRight; if (light) {
pLeft = Left[i];
pRight = Right[i];

        }
        else {
            pLeft = Right[i];
            pRight = Left[i];
        }
        switch (Result[i][0]) {
        case'u':
            if (strchr(pRight, c) == NULL)
                return false;
            break;
        case'e':
            if (strchr(pLeft, c) || strchr(pRight, c))
                return false;
            break;
        case'd':
            if (strchr(pLeft, c) == NULL)
                return false;
                break;
        }
    }
    return true;
}

为什么return false就是硬币重了呢,硬币重了变量c也包含在字符串里面的呀.

  • 写回答

2条回答 默认 最新

  • StjpStjp 2021-08-26 13:33
    关注

    枚举,三分都可以

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

报告相同问题?

问题事件

  • 系统已结题 9月3日
  • 已采纳回答 8月26日
  • 创建了问题 8月26日

悬赏问题

  • ¥15 微信会员卡等级和折扣规则
  • ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分