猴子摘香蕉问题c语言_c语言人工智能算法

猴子摘香蕉问题c语言_c语言人工智能算法问题说明:房间内有一只猴子,一个箱子和一个挂在天花板上的香蕉。三者的位置如下图所示:初始状态:三者在输入的初始位置,猴子手上无香蕉,猴子不在箱子上。目标状态:三者均在香蕉对应的位置,猴子手上有香蕉,且在箱子上。实现步骤:猴子走到箱子处猴子将箱子推到香蕉处猴子爬上箱子猴子摘香蕉程序内容:本程序主要实现猴子摘香蕉的过程,即从初始状态到目标状态。程序运行后,根据用户输入的三者的位置,按照实现步骤更新每一过程后的状态变量,并将过程输出。本程序使用以下函数:main():主函数

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

问题说明:

房间内有一只猴子,一个箱子和一个挂在天花板上的香蕉。三者的位置如下图所示:猴子摘香蕉问题c语言_c语言人工智能算法

初始状态:三者在输入的初始位置,猴子手上无香蕉,猴子不在箱子上。

目标状态:三者均在香蕉对应的位置,猴子手上有香蕉,且在箱子上。

实现步骤:猴子走到箱子处猴子将箱子推到香蕉处猴子爬上箱子猴子摘香蕉

程序内容: 本程序主要实现猴子摘香蕉的过程,即从初始状态到目标状态。程序运行后,根据用户输入 的三者的位置,按照实现步骤更新每一过程后的状态变量,并将过程输出。

本程序使用以下函数:

main():主函数

go_to_box():猴子走到箱子处

move_box():猴子搬箱子

climb_box():猴子爬箱子

get_banana():猴子摘香蕉
 

本程序使用C++实现:

#include <iostream>
#include <string>
#include <vector>

using namespace std;

/*
File name:monkey_get_banana
Date:11.15
*/


//用一个结构体变量记录某一状态下猴子、箱子、香蕉的位置,以及猴子是否在箱子上、是否摘得香蕉 
struct stack{
	string MONKEY; 
	string BANANA;
	string BOX;
	int HAVE; //1表示摘得,0表示没有 
	int ISON;	//1表示猴子在箱子上,0表示没有 
};

//函数申明 
bool go_to_box(struct stack& s,string m,string n);
bool move_box(struct stack& s, string m, string n);
bool climb_box(struct stack& s, string pos);
bool get_banana(struct stack& s,string pos);

int main(){
	
	string monkey,banana,box;
	struct stack sq;
	
	cout << "用a,b,c三个数字输入猴子、香蕉、箱子的位置,中间用空格隔开" << endl;
	cin >>monkey>>banana>>box;
	cout <<"输入的 猴子 香蕉 箱子的位置分别是:"<<endl;
	cout <<"monkey\tbanana\tbox"<<endl; 
	cout <<monkey<<"\n\t"<<banana<<"\n\t\t"<<box<<endl;
	cout <<"猴子摘香蕉的过程如下:"<< endl; 
	
	//初始化 
	sq.MONKEY = monkey;
	sq.BANANA = banana;
	sq.BOX = box;
	sq.HAVE = 0;
	sq.ISON = 0;
	
	//摘香蕉过程 
	go_to_box(sq,sq.MONKEY,sq.BOX);
	move_box(sq, sq.MONKEY, sq.BANANA);
	climb_box(sq,sq.BANANA);
	get_banana(sq,sq.BANANA);
	
	return 0;
}

bool go_to_box(struct stack& s,string m,string n){
	if (s.MONKEY == m){
		s.MONKEY = n; 
		cout <<"\n第一步:猴子从 "<<m<<" 处走到 "<<n<< endl;
		return true;
	}
	else
		return false;
	return true;
}

bool move_box(struct stack& s, string m, string n)
{
	if (s.MONKEY == m && s.BOX == m)
	{
		s.MONKEY = n;
		s.BOX = n;
		cout <<"\n第二步:猴子将箱子从 "<<m<<" 处移到 "<<n<< endl;
		return true;
	}
	else
		return false;
	return true;
}

bool climb_box(struct stack& s, string pos){
	if (s.MONKEY == pos && s.BOX == pos && s.BANANA == pos && s.ISON == 0)
	{
		s.ISON = 1;
		cout <<"\n第三步:猴子在"<<pos<<"处爬上箱子"<<endl;
		return true;
	}
	else
		return false;
	return true;
}


bool get_banana(struct stack& s,string pos){
	if (s.MONKEY == pos && s.BOX == pos && s.BANANA == pos && s.ISON == 1){
		s.HAVE = 1;
		cout <<"\n第四步:猴子摘得香蕉"<<endl;
	}
	else
		return false;
	return true; 
}

程序运行结果: 

猴子摘香蕉问题c语言_c语言人工智能算法

 作业要求完美实现!!!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/189398.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • vuex-mapGetters使用案例解析

    vuex-mapGetters使用案例解析store/index.jsimportVuefrom’vue’importVuexfrom’vuex’Vue.use(Vuex)exportdefaultnewVuex.Store({state:{msg:”HelloVuex!”,name:”cxj”,age:18,hobby:”美女”},getters:{tenYearsOld(state){returnstate.age+1

    2022年5月5日
  • linux如何查看so库已加载_cmake生成静态库

    linux如何查看so库已加载_cmake生成静态库Linux程序运行找不到动态库.so文件的三种解决办法方法一:添加环境变量方法1.添加当前用户当前终端的环境变量-临时exportLD_LIBRARY_PATH=/home/czd/…#.sofilepath方法2.添加当前用户的环境变量修改~/.bashrc文件,在其末尾,添加环境变量vim~/.bashrcexportLD_LIBRARY_PATH=$LD…

    2022年9月18日
  • AVAudioEngine录音崩溃, reason: ‘format.sampleRate == hwFormat.sampleRate

    AVAudioEngine录音崩溃, reason: ‘format.sampleRate == hwFormat.sampleRateAVAudioEngine录音频时偶发崩溃报错信息大致如下:2021-12-1520:12:38.429028+0800*[1659:708511]NSURLConnectionfinishedwitherror-code-1002″AudioRecorder创建Audio缓存文件夹成功/var/mobile/Containers/Data/Application//Library/Caches/Audio”2021-12-1520:13:30.762736+0800***

    2022年10月17日
  • SVN服务器备份_svn服务器迁移

    SVN服务器备份_svn服务器迁移SVN数据备份、还原、适用情况、部分异常处理等介绍。介绍三种主要备份方式:hotcopy、dump以及svnsync。

    2022年10月2日
  • moxa串口服务器型号,moxa串口服务器产品配置说明

    moxa串口服务器产品配置说明内容精选换一换为弹性云服务器配置的安全组规则未生效。以下排查思路根据原因的出现概率进行排序,建议您从高频率原因往低频率原因排查,从而帮助您快速找到问题的原因。如果解决完某个可能原因仍未解决问题,请继续排查其他可能原因。当安全组规则配置有误时,无法按照规划的安全组规则对云服务器进行保护。您可以按照以下几点原因对安全组配置进行检查:安全组规则方向设置错误,使用坐席工号(…

    2022年4月8日
  • python全国计算机二级报名_python有证书考吗

    python全国计算机二级报名_python有证书考吗第一次参加全国计算机等级考试的考生对于网上报名的流程,对全国计算机考试流程中某些环节并不清楚,小编今天就整理下全国计算机等级考试流程及详细说明,提供网上报名流程示意图,解决大家在全国计算机等级考试报名过程中的疑问。(如有出入,请以官方信息为准)考生需登录各地计算机等级考试官方报名网站,进入“全国计算机等级考试报名系统”进行注册登录。(一)注册账号和登录一、注册ETEST通行证1.考生首次登录系…

    2022年9月3日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号