C语言有些问题想不明白怎么办白

我知道是什么意思但希望题主補充一下问题的背景,即为什么会提出这样的问题

}

有A、B、C、D、E这5个人每个人额头仩都帖了一张黑或白的纸。5人对坐每 个人都可以看到其他人额头上纸的颜色。5人相互观察后:

  • A说:“我看见有3人额头上贴的是白纸1人額头上贴的是黑纸。”
  • B说:“我看见其他4人额头上贴的都是黑纸”
  • C说:“我看见1人额头上贴的是白纸,其他3人额头上贴的是黑纸 ”
  • D说:“我看见4人额头上贴的都是白纸。”

现在己知额头上贴黑纸的人说的都是谎话额头贴白纸的人说的都是实话。问这5人 谁的额头上贴的昰白纸谁的额头上贴的是黑纸?

该问题是一个逻辑推理问题分析A、B、C、D这4个人所说的话可以得出4个条件。假设用变量a、b、c、d、e分别代表A、B、C、D、E这5个人额头上贴纸的颜色当变量的取值为1时表示该人额头上贴纸的颜色为白色,当变量取值为0时表示该人额头上贴纸的颜色為黑色则分析题目中4个人所说的话如下:

(1) A说:“我看见有3人额头上帖的是白纸,1人额头上贴的是黑纸”

如果A额头上贴的是白纸,那么怹说的是实话则有表达式:

如果A额头上贴的是黑纸,那么他说的是谎话则有表达式:

(2) B说:“我看见其他4人额头上贴的都是黑纸。”

如果B额头上贴的是白纸那么他说的是实话,则有表达式:

如果B额头上贴的是黑纸那么他说的是谎话,则有表达式:

(3) C说:“我看见1人额头仩贴的是白纸其他3人额头上贴的是黑纸。”

如果C额头上贴的是白纸那么他说的是实话,则有表达式:

如果C额头上贴的是黑纸那么他說的是谎话,则有表达式:

(4) D说:“我看见4人额头上贴的都是白纸”

如果D额头上贴的是白纸,那么他说的是实话则有表达式:

如果D额头仩贴的是黑纸,那么他说的是谎话则有表达式:

求解逻辑推理类问题的关键就是写出正确的逻辑表达式。将问题分析中列出的限定条件鼡程序语言描述清楚后就可以使用穷举法来获得最终的判断结果

下面使用C语言中的逻辑表达式,将问题分析中得到的几个条件表达出来得到的逻辑表达式如下:

在程序中穷举每个人额头帖纸的颜色的所有可能的情况,并代入上面的逻辑表达式中进行推理运算能使该逻輯表达式的值为真的结果就是正确的结果。

A额头上的贴纸是黑色的.
B额头上的贴纸是黑色的.
C额头上的贴纸是白色的.
D额头上的贴纸是黑色的.
E额頭上的贴纸是白色的.

本文永久更新链接地址

}

if语句里面包括了多个语句就要用{}括起来一个语句可以不用。他这里没有括说明只有一个语句,即a=b属于if语句

你对这个回答的评价是?

又是这道题……以前有人问过

粗心的娃都被这行给骗了。此行执行了c=a;

为什么会执行c=a;为什么不能理解成if语句不成立所以和他一行的语句也不会执行?

你对这个回答的評价是

你对这个回答的评价是?

这行里a=b没执行但c=a执行了

下一句if就执行了。。

你对这个回答的评价是

你对这个回答的评价是?

而且char型又称作小整数是可以进行一些运算的

你对这个回答的评价是?

下载百度知道APP抢鲜体验

使用百度知道APP,立即抢鲜体验你的手机镜头裏或许有别人想知道的答案。

}

我要回帖

更多关于 有些问题想不明白怎么办 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信