c语言12个小球,12个球找出其中一个坏球,不知道轻重,求详细代码谢了。。尽量加上注释...
满意答案
#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个球找出其中一个坏球,不知道轻重,求详细代码谢了。。尽量加上注释...相关推荐
- C语言 12个球称3次 找出其中一个坏球
#include <stdio.h> #include <stdlib.h> #include <time.h> #include <windows.h> ...
- 小球称重的解法整合 N个小球有一个坏球,最少几次能找出坏球
小球称重的解法整合 N个小球有一个坏球,最少几次能找出坏球 最近在看小球称重的问题,之前只记住了公式,最近回过来看,发现知乎上多了一些优质答案,遂记录一下. 现附上学习地址 先说结论, N 个 ...
- 已知13个球和一个天平,其中有一个坏球,但是不知道是轻还是重,请用天平秤三次,找到这个坏球。
题目:已知13个球和一个天平,其中有一个坏球,但是不知道是轻还是重,请用天平秤三次, 到这个坏球. 解答: 首先将13个球分成三组: A组A1,A2,A3,A4; B组B1,B2,B3,B ...
- 问题:现有12个外形相同的小球,只有其中一个小球质量不同(不能确定较重还是较轻),请用天平找出是哪个小球不同,而且还要找出究竟是轻是重?条件:只能称三次
FindBall public class FindBall {public void compValue(double[] item){double GroupA = 0, GroupB = 0,G ...
- 12个球,其中有1个坏球和其他11个重量不一样,给你一个天平,称3次,找出不一样的那个
很常见的一道逻辑题,只使用已知条件,不借用其他外力. 设12个球分别是:A1,A2,A3,A4,B1,B2,B3,B4,C1,C2,C3,C4 第一次称:天平两侧分别是,左侧:A1,A2,A3,A4, ...
- 从12个球中找出唯一一个质量不同的球,并说明轻重
前言 最近在刷腾讯的笔试题,遇到了这道智力题.春招实习生的时候,面试依图,也遇到了这个问题.今天就在这总结下解法. 问题描述 12个球,其中只有一个质量不同的球.要求使用一个天平,经过三次称量,找出这 ...
- 十二个小球,一个坏球,3次比较找出坏的那个
参考链接: https://blog.csdn.net/qq_34192115/article/details/80425120 https://blog.csdn.net/iamthedoctor1 ...
- 悬浮球多功能_一个悬浮球,怎么可以这么贴心~
原标题:一个悬浮球,怎么可以这么贴心~ 一个悬浮球 满足你N个愿望 ※ 专题|图文|悬浮球上手指南 这个小蛋蛋是不少小朋友喜爱的零食,因为它能满足小朋友好几个愿望,能吃又能玩的零食哪个小朋友会不喜欢? ...
- 【C语言练习】四个整数中找出最大的一个
<啊哈C语言>这本书上的练习题: 从键盘任意读入四个整数,让计算机从中找出最大的一个. #include <stdio.h> #include <stdlib.h> ...
最新文章
- Android中所有API和对应权限的数据结构构建
- ASP.NET AJAX入门系列(1):概述
- 小米Max怎么刷入开发版获得root超级权限
- JBoss 类加载器问题解决
- App上线前产品经理自查的清单
- Ribbon为什么要加入点对点直连的功能?如何操作?两句话玩转!
- Android之Unexpected error while executing: am start -n “***.Activity“-a android.intent.action.MAIN
- [转载] Java8 Stream流遍历 如何使用索引
- 多项式输出(洛谷-P1067)
- 跳台阶问题:动态规划,公式
- Linux正确查看内存占用
- 硅谷的长生不老产业:炼金术 2.0,满足 CEO 们“拿钱换命”的欲望
- 2022年南京医院三基考试耳鼻咽喉科学精选题及答案
- windows server2019共享选项中网络发现无法启用
- 计算机组装拆卸 心得,学习组装电脑的心得体会怎么写?
- 普通话测试-短文60篇文章,附带拼音(51-60篇)
- 基于爬取百合网的数据,用matplotlib生成图表
- 解决方案:Browserslist:caniuse-lite is outdated. Please run next command `npm update`
- android studio 跳转后保留原页面数据_这些技巧和习惯,让你的原生 Android 手机更好用(上篇)...
- Android Java(2015-6-18 15:28、2016-1-30 21:18、2016-5-31 11:20)