满意答案

#include

#include

/* lf:left side; rt:right side; ans:up/down/equal */

char lf[3][7], rt[3][7], ans[3][6];

bool isLight(char);

bool isHeavy(char);

int main()

{

//freopen("dat.txt", "r", stdin);

int tc;

scanf("%d", &tc);

//测试的数据的组数

while(tc--){

for(int i = 0; i

scanf("%s %s %s", lf[i], rt[i], ans[i]);

for(int i = 0; i

char cur = 'A' + i;

/* 假设硬币cur是重的,看是否满足输入数据 */

if(isHeavy(cur))

printf("%c is the counterfeit coin and it is heavy.\n", cur);

/* 否则,假设硬币cur是重的,看是否满足输入数据 */

else if(isLight(cur))

printf("%c is the counterfeit coin and it is light.\n", cur);

}

}

return 0;

}

bool isLight(char cur)

{

for(int i = 0; i

switch(ans[i][0]) {

/* 假设假币偏轻时,若右侧为up,则假币必在右侧;若两边平衡,则假币必不在两侧;若右侧为down,则假币必在左侧 */

case 'u' : if(strchr(rt[i], cur) == NULL) return false;

break;

case 'e' : if(strchr(lf[i], cur) != NULL ||

strchr(rt[i], cur) != NULL) return false;

break;

case 'd' : if(strchr(lf[i], cur) == NULL) return false;

break;

}

}

return true;

}

bool isHeavy(char cur)

{

for(int i = 0; i

switch(ans[i][0]) {

/* 假设假币偏重时,若右侧为up,则假币必在右左侧;若两边平衡,则假币必不在两侧;若右侧为down,则假币必在右侧 */

case 'u' : if(strchr(lf[i], cur) == NULL) return false;

break;

case 'e' : if(strchr(lf[i], cur) != NULL || strchr(rt[i], cur) != NULL) return false;

break;

case 'd' : if(strchr(rt[i], cur) == NULL) return false;

break;

}

}

return true;

}

昨天才做的一个称假币问题 你看看

00分享举报

c语言12个小球,12个球找出其中一个坏球,不知道轻重,求详细代码谢了。。尽量加上注释...相关推荐

  1. C语言 12个球称3次 找出其中一个坏球

    #include <stdio.h> #include <stdlib.h> #include <time.h> #include <windows.h> ...

  2. 小球称重的解法整合 N个小球有一个坏球,最少几次能找出坏球

    小球称重的解法整合 N个小球有一个坏球,最少几次能找出坏球     最近在看小球称重的问题,之前只记住了公式,最近回过来看,发现知乎上多了一些优质答案,遂记录一下. 现附上学习地址 先说结论, N 个 ...

  3. 已知13个球和一个天平,其中有一个坏球,但是不知道是轻还是重,请用天平秤三次,找到这个坏球。

    题目:已知13个球和一个天平,其中有一个坏球,但是不知道是轻还是重,请用天平秤三次, 到这个坏球. 解答:   首先将13个球分成三组:   A组A1,A2,A3,A4;   B组B1,B2,B3,B ...

  4. 问题:现有12个外形相同的小球,只有其中一个小球质量不同(不能确定较重还是较轻),请用天平找出是哪个小球不同,而且还要找出究竟是轻是重?条件:只能称三次

    FindBall public class FindBall {public void compValue(double[] item){double GroupA = 0, GroupB = 0,G ...

  5. 12个球,其中有1个坏球和其他11个重量不一样,给你一个天平,称3次,找出不一样的那个

    很常见的一道逻辑题,只使用已知条件,不借用其他外力. 设12个球分别是:A1,A2,A3,A4,B1,B2,B3,B4,C1,C2,C3,C4 第一次称:天平两侧分别是,左侧:A1,A2,A3,A4, ...

  6. 从12个球中找出唯一一个质量不同的球,并说明轻重

    前言 最近在刷腾讯的笔试题,遇到了这道智力题.春招实习生的时候,面试依图,也遇到了这个问题.今天就在这总结下解法. 问题描述 12个球,其中只有一个质量不同的球.要求使用一个天平,经过三次称量,找出这 ...

  7. 十二个小球,一个坏球,3次比较找出坏的那个

    参考链接: https://blog.csdn.net/qq_34192115/article/details/80425120 https://blog.csdn.net/iamthedoctor1 ...

  8. 悬浮球多功能_一个悬浮球,怎么可以这么贴心~

    原标题:一个悬浮球,怎么可以这么贴心~ 一个悬浮球 满足你N个愿望 ※ 专题|图文|悬浮球上手指南 这个小蛋蛋是不少小朋友喜爱的零食,因为它能满足小朋友好几个愿望,能吃又能玩的零食哪个小朋友会不喜欢? ...

  9. 【C语言练习】四个整数中找出最大的一个

    <啊哈C语言>这本书上的练习题: 从键盘任意读入四个整数,让计算机从中找出最大的一个. #include <stdio.h> #include <stdlib.h> ...

最新文章

  1. Android中所有API和对应权限的数据结构构建
  2. ASP.NET AJAX入门系列(1):概述
  3. 小米Max怎么刷入开发版获得root超级权限
  4. JBoss 类加载器问题解决
  5. App上线前产品经理自查的清单
  6. Ribbon为什么要加入点对点直连的功能?如何操作?两句话玩转!
  7. Android之Unexpected error while executing: am start -n “***.Activity“-a android.intent.action.MAIN
  8. [转载] Java8 Stream流遍历 如何使用索引
  9. 多项式输出(洛谷-P1067)
  10. 跳台阶问题:动态规划,公式
  11. Linux正确查看内存占用
  12. 硅谷的长生不老产业:炼金术 2.0,满足 CEO 们“拿钱换命”的欲望
  13. 2022年南京医院三基考试耳鼻咽喉科学精选题及答案
  14. windows server2019共享选项中网络发现无法启用
  15. 计算机组装拆卸 心得,学习组装电脑的心得体会怎么写?
  16. 普通话测试-短文60篇文章,附带拼音(51-60篇)
  17. 基于爬取百合网的数据,用matplotlib生成图表
  18. 解决方案:Browserslist:caniuse-lite is outdated. Please run next command `npm update`
  19. android studio 跳转后保留原页面数据_这些技巧和习惯,让你的原生 Android 手机更好用(上篇)...
  20. Android Java(2015-6-18 15:28、2016-1-30 21:18、2016-5-31 11:20)

热门文章

  1. 频谱、能量谱和功率谱
  2. Linux 常用命令——超详细(建议收藏)
  3. HBase为什么适合海量数据场景
  4. Opencv 基本操作五 各种连通域处理方法
  5. SpringBoot实战手册,值得收藏,每个Java工程师都必须要掌握
  6. OpenCV转换HDR图像与源码分析
  7. Lucene开发环境搭建-Maven
  8. kali安装步骤失败 选择并安装软件_ug安装教程详细步骤ug怎么免费安装教程ug软件怎样安装步骤...
  9. 解决xlwings多个pid占用多个excel.exe进程,导致打开生成的Excel一片空白
  10. CSS3选择器(详细!全!)