2-谁做的好事——真假检查

image

怎么通过计算机检查同学中,有三个人说了真话呢?

“计算器”的功能

  • 可以对结果进行累加
  • 当关系表达式为true时才进行累加

累加操作只有在满足一定条件后才执行,这样的指令需有特殊的程序语言语句来表达:

条件语句if

image

if-else

image

怎么统计有三个人说了真话?

image

image

image

枚举思想

一个个假设问题可能的答案,一个个仔细去验证假设的可能的答案是真的
枚举是一种重要的方法

代码实现

#include <iostream>
using namespace std;

/*
谁是做好事的人呢?三个人说的是真话,一个人是假话
A:不是我 good_man != 'A'
B:是C good_man == 'C'
C:是D  good_man == 'D'
D:他胡说 good_man != 'D'
答案:C是做好事的人
*/
int main() {
	char good_man;
	good_man = 'A';
	int count = 0;
	if (good_man != 'A')
		count++;
	if (good_man == 'C')
		count++;
	if (good_man == 'D')
		count++;
	if (good_man != 'D')
		count++;
	if (count == 3)
		cout << good_man << endl;
	else {
		int count = 0;
		good_man = 'B';
		if (good_man != 'A')
			count++;
		if (good_man == 'C')
			count++;
		if (good_man == 'D')
			count++;
		if (good_man != 'D')
			count++;
		if (count == 3)
			cout << good_man << endl;
		else {
			int count = 0;
			good_man = 'C';
			if (good_man != 'A')
				count++;
			if (good_man == 'C')
				count++;
			if (good_man == 'D')
				count++;
			if (good_man != 'D')
				count++;
			if (count == 3)
				cout << good_man << endl;
			else {
				int count = 0;
				good_man = 'D';
				if (good_man != 'A')
					count++;
				if (good_man == 'C')
					count++;
				if (good_man == 'D')
					count++;
				if (good_man != 'D')
					count++;
				if (count == 3)
					cout << good_man << endl;
			}
		}
	}
	return 0;
}

运行结果

image

posted @ 2022-11-20 15:15  彩红caihong  阅读(38)  评论(0)    收藏  举报