语言:小鼹鼠过生日

时间:2024.4.14

备 课 表

班级: 教师: 第 星期

语言小鼹鼠过生日

语言小鼹鼠过生日

语言小鼹鼠过生日


第二篇:C语言求解-小明和小强都是张老师的学生,张老师的生日是M月N日


小明和小强都是张老师的学生,张老师的生日是M月N日,

2人都知道张老师的生日是下列10组中的一天,张老师把M值告诉了小明, 把N值告诉了小强,张老师问他们知道他的生日是那一天吗?

3月4日 3月5日 3月8日

6月4日 6月7日

9月1日 9月5日

12月1日 12月2日 12月8日

小明说:如果我不知道的话,小强肯定也不知道.

小强说:本来我也不知道,但是现在我知道了.

小明说:哦,那我也知道了.

请根据以上对话推断出张老师的生日是哪一天?

提示:

1、利用如下数据结构:

enum mn{a=1,b=2,c=3,d=4,e=5,f=6,g=7,h=8,i=9,j=12}m,n;

int mon[4]={3,6,9,12};

int day[6]={1,2,4,5,7,8};

2、利用上面的数据结构,配合如下注释,填充完整函数,得出答案。

void getValueFromMing(){}/*如果我不知道,小强肯定也不知道.*/

void getValueFromQiang(){}/*本来我不知道,现在我知道了.*/

void getValueFromMing2(){}/*那我也知道了.*/

/*

临时写了个code,有空了再做改进。

我们从这样的角度去考虑,

因为我知道的不是...

“比如小明,因为我知道的月分不是...,所以小强一定不知道”

这样通过排除法,把范围就给缩小到很小很小,最后知道答案了

*/

/*

解答过程:

小明知道月份,小强知道日子

小明说:如果我不知道的话,小强肯定也不知道

那么小明知道小强不可以单凭日期就能判断,所以小强知道的日子是没有重复的 而6.7和12.2的日子是没有重复的,所以可以排除6月和12月

3月4日 3月5日 3月8日

6月4日 6月7日

9月1日 9月5日

12月1日 12月2日 12月8日

小强说:本来我也不知道,但是现在我知道

小强听到小明说的,就知道排除了6月和12月

他之所以那么肯定,因为他知道的日子是没有重复的

3月4日 3月5日 3月8日

9月1日 9月5日

所以3.5和9.5不对,排除

小明说:哦,那我也知道了

因为小明知道月份,他这么肯定,是因为剩下的日期只有一个是月份没有重复的,就是9月份

3月4日 3月8日

9月1日

所以答案是9.1

*/

/*==============================================================================

文 件 名 : testbirthday.c

功 能 : 小明和小强通过对方的语言得出张老师的生日

作 者 : jernymy

日 期 : 2010/01/14

备 注 : 通过排除法: 因为我知道的不是...

“比如小明,因为我知道的月分不是...,所以小强一定不知道”

基于VC6.0的环境。

==============================================================================*/

#include "stdio.h"

// 1、利用如下数据结构:

enum mn

{

a=1,b=2,c=3,d=4,e=5,f=6,g=7,h=8,i=9,j=12

}m,n;

int mon[4] = {3, 6, 9, 12};

int day[6] = {1, 2, 4, 5, 7, 8};

// 2、利用上面的数据结构,配合如下注释,填充完整函数,得出答案。

typedef enum

{

KNOW_ERROR = 0,

MING_HAVE_KNOW,

MING_MAYBE_KNOW,

MING_DONOT_KNOW,

MING_REMOVE_DATA,

QIANG_HAVE_KNOW,

QIANG_MAYBE_KNOW,

QIANG_DONOT_KNOW,

QIANG_REMOVE_DATA,

}emKnowStatus;

/*

InitStatus

int nMingStatus[4][2] =

{

{3, MING_DONOT_KNOW},

{6, MING_DONOT_KNOW},

{9, MING_DONOT_KNOW},

{12, MING_DONOT_KNOW},

};

int nQiangStatus[6][2] =

{

{1, QIANG_DONOT_KNOW},

// {2, QIANG_HAVE_KNOW}, // here xiao qiang must know {4, QIANG_DONOT_KNOW},

{5, QIANG_DONOT_KNOW},

// {7, QIANG_HAVE_KNOW}, // here xiao qiang must know {8, QIANG_DONOT_KNOW},

};

*/

/* 如果我不知道,小强肯定也不知道. */

void getValueFromMing(void)

{

int nIdx;

int nQiangStat;

printf("小明刚开始也不知道 !\n");

for (nIdx = 0; nIdx < 4; nIdx++)

{

if (c == mon[nIdx]) // 3

{

nQiangStat = QIANG_DONOT_KNOW; }

else if (f == mon[nIdx]) // 6

{

nQiangStat = QIANG_MAYBE_KNOW;

}

else if (i == mon[nIdx]) // 9

{

nQiangStat = QIANG_DONOT_KNOW;

}

else if (j == mon[nIdx]) // 12

{

nQiangStat = QIANG_MAYBE_KNOW;

}

else

{

continue;

}

if (QIANG_DONOT_KNOW == nQiangStat)

{

printf("小明想: 月份是 %-2d,小强一定不知道 !\n", mon[nIdx]); }

else if (QIANG_MAYBE_KNOW == nQiangStat)

{

printf("小明想: 月份是 %-2d,小强可能会知道 !\n", mon[nIdx]); }

else

{

printf("getValueFromMing() konw data error !\n");

}

}

printf("小明想: 因为月份不是 %d, %d,如果我不知道,小强肯定也不知道.\n", f, j); }

/*

nMingStatus[4][2] =

{

{3, MING_DONOT_KNOW},

{6, MING_REMOVE_DATA},

{9, MING_DONOT_KNOW},

{12, MING_REMOVE_DATA},

};

*/

/* 本来我不知道, 现在我知道了. */

void getValueFromQiang(void)

{

int nIdx;

int nQiangStat;

printf("\n小强: 小明知道的月份一定是 %d, %d !\n", c, i);

for (nIdx = 0; nIdx < 6; nIdx++)

{

if (a == day[nIdx]) // 1

{

nQiangStat = QIANG_HAVE_KNOW;

}

else if (d == day[nIdx]) // 4

{

nQiangStat = QIANG_HAVE_KNOW;

}

else if (e == day[nIdx]) // 5

{

nQiangStat = QIANG_DONOT_KNOW;

}

else if (h == day[nIdx]) // 8

{

nQiangStat = QIANG_HAVE_KNOW;

}

else

{

continue;

}

if (QIANG_HAVE_KNOW == nQiangStat)

{

printf("小强: 日期是 %d, 我已经知道 !\n", day[nIdx]); }

else if (QIANG_DONOT_KNOW == nQiangStat)

{

printf("小强: 日期是 %d, 我还不知道 !\n", day[nIdx]); }

else

{

printf("getValueFromQiang() konw data error !\n");

}

}

printf("小强说: 因为日期不是 %d, 本来我不知道, 现在我知道了. \n", e); }

/*

nQiangStatus[6][2] =

{

{1, QIANG_HAVE_KNOW}, // here xiao qiang must know

{4, QIANG_HAVE_KNOW}, // here xiao qiang must know

{5, QIANG_DONOT_KNOW},

{8, QIANG_HAVE_KNOW}, // here xiao qiang must know

};

*/

/* 那我也知道了. */

void getValueFromMing2(void)

{

int nIdx;

int nMingStat = KNOW_ERROR;

printf("\n小明: 小强已经知道, 所以日期一定是: %d, %d, %d\n", a, d, h); for (nIdx = 0; nIdx < 4; nIdx++) // only 3, 9

{

if (c == mon[nIdx]) // 3

{

nMingStat = MING_DONOT_KNOW;

}

else if (i == mon[nIdx]) // 9

{

nMingStat = MING_HAVE_KNOW;

}

else

{

continue;

}

if (MING_HAVE_KNOW == nMingStat)

{

printf("小明: 月份是 %d, 我已经知道 !\n", mon[nIdx]); }

else if (MING_DONOT_KNOW == nMingStat)

{

printf("小明: 月份是 %d, 我还不知道 !\n", mon[nIdx]); }

else

{

printf("getValueFromMing2() konw data error !\n"); }

}

printf("小明说: 因为月份不是 %d, 那我也知道了. \n", c); }

/*

nMingStatus[4][2] =

{

{3, MING_DONOT_KNOW},

{9, QIANG_HAVE_KNOW}, // here xiao ming must know };

nQiangStatus[6][2] =

{

{1, QIANG_HAVE_KNOW}, // here xiao qiang must know {4, QIANG_HAVE_KNOW}, // here xiao qiang must know {5, QIANG_DONOT_KNOW},

{8, QIANG_HAVE_KNOW}, // here xiao qiang must know };

*/

int main(void)

{

getValueFromMing();

getValueFromQiang();

getValueFromMing2();

printf("\nmonth is %d\n", i);

printf("day is %d\n", a);

return 0;

}

本文来自CSDN博客,转载请

标明出处:

更多相关推荐:
活动设计1:小鼹鼠过生日(语言)

活动设计1:小鼹鼠过生日(语言),内容附图。

故事:小鼹鼠过生日

故事小鼹鼠过生日小鼹鼠过生日了妈妈买来了一盒生日蛋糕爸爸买来了一辆小汽车小鼹鼠可高兴了坐上车一踩油门就冲了出去到了十字路口红灯亮了小鼹鼠可没注意车还是开得飞快一只小乌龟来不及避让被车撞了一下轱辘轱辘滚到路边小鼹...

大班语言《小鼹鼠过生日》

大班语言小鼹鼠过生日大班语言小鼹鼠过生日活动目标1了解故事内容能用较连贯的语言表达故事的主要情节2知道在路上开车行走时要遵守交通规则活动准备标志PPT标志卡片若干配套幼儿画册活动过程1通过标志PPT导入故事内容...

小鼹鼠过生日

小鼹鼠过生日妈妈买来一盒生日蛋糕爸爸买来一辆小汽车小鼹鼠可高兴了坐上车一踩油门就冲了出去到了十字路口红灯亮了小鼹鼠没注意车还是开得飞快一只乌龟来不及避让被车撞了一下骨碌骨碌滚到路边小鼹鼠的车继续往前开路旁竖了一...

小鼹鼠过生日

故事小鼹鼠过生日目标1了解故事内容能用较连贯的语言表达故事的主要情节2知道在路上开车行走时要遵守的交通规则并提醒自己的爸爸妈妈遵守交通规则3体验同伴之间相互帮助的感情激发相互帮助的情感准备PPT带有故事中出现的...

《小猫过生日》教案及反思

绘本故事小猫过生日纲要指出小班幼儿处于语言发展的关键阶段结合这一要求又因为近日我班有部分幼儿过生日所以选择小猫过生日这一绘本故事因为在故事中有生动的故事情节可爱有趣的小动物通过营造神秘的氛围让幼儿充分发挥想象能...

《小熊过生日》教学反思

小熊过生日教学反思张庄镇中心幼儿园张莉数学是科学领域的重要组成部分它是一门逻辑性很强的学科长期以来人们总是把数学看作是数与概念的不断累积似乎它与趣味性有着不可逾越的鸿沟但是我想尝试一种能体现趣味性的数学活动让幼...

小猫过生日教案

阅读活动小猫过生日活动目标1了解小猫过生日的特殊经历尝试用观察对应匹配等方法从影子的整体或者局部轮廓来猜测客人乐意用简短的语言表达自己的猜想2学习进行角色表演用动作和语言表演角色的特点3体验朋友带来的快乐活动重...

小猫过生日

中班绘本活动小猫过生日设计思路选择这个故事是一种机缘巧合这是孩子们常常看的思维练习发现了一个小小的点在这个阶段特别喜欢孩子们特别喜欢这样的一个内容找影子我后来一想中班的孩子就是这样的他们喜欢有一点好奇的能够让他...

中班语言《小猫过生日》

中班语言小猫过生日一活动目标1了解小猫过生日的特殊经历能在遇到问题时动脑筋去解决体验共同分享的快乐2仔细观察事物的局部特征进行合理的猜测能正确地判断事物整体二活动准备1放大挂图小猫的生日2小猫手偶一个3自制印有...

故事小猫过生日

故事小猫的生日活动目标1通过观察课件画面初步了解故事内容2能从影子的整体或者局部轮廓大胆猜测故事中的客人有一定的观察能力和想象能力3乐意表达自己的理解体验与朋友一起过生日的快乐活动准备小猫过生日课件活动过程一引...

小猫过生日 活动设计

中班绘本故事小猫的生日张掖市临泽县蓼泉学区乔翠玲活动目标1通过观察课件画面初步了解故事内容2能从影子的整体或者局部轮廓大胆猜测故事中的客人有一定的观察能力和想象能力3乐意表达自己的理解体验与朋友一起过生日的快乐...

小鼹鼠过生日反思(6篇)