ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:16.26KB ,
资源ID:4456733      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4456733.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(商人过河C语言程序编程.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

商人过河C语言程序编程.docx

1、商人过河C语言程序编程#include #include #include void basic_interface() /基本界面 system(clear); system(tput cup 5 20); printf(=n); system(tput cup 6 20); printf(* *n); system(tput cup 7 20); printf(* _欢迎使用商人过河游戏!_ *n); system(tput cup 8 20); printf(* *n); system(tput cup 9 20); printf(* 游戏说明: *n); system(tput cup

2、 10 20); printf(* 三个商人带着三个随从和货物过河,船每次最多只能载两个人,要求在过河期间,任一岸上商人的人数 *n); system(tput cup 11 20); printf(* 要大于或等于随从的人数,否则随从会杀掉商人抢走货物。 *n); system(tput cup 12 20); printf(* *n); system(tput cup 13 20); printf(* 游戏操作: *n); system(tput cup 14 20 ); printf(* (1)依次输入过河的商人和随从人数; *n); system(tput cup 15 20); pr

3、intf(* (2)非法输入按键将重新开始。 *n); system(tput cup 16 20); printf(*-*n); system(tput cup 17 20);printf(*n);system(tput cup 17 113);printf(*n); system(tput cup 18 20);printf(*n);system(tput cup 18 113);printf(*n); system(tput cup 19 20);printf(*n);system(tput cup 19 113);printf(*n); system(tput cup 20 20);p

4、rintf(*n);system(tput cup 20 113);printf(*n); system(tput cup 21 20);printf(*n);system(tput cup 21 113);printf(*n); system(tput cup 22 20);printf(*n);system(tput cup 22 113);printf(*n); system(tput cup 23 20);printf(*n);system(tput cup 23 113);printf(*n); system(tput cup 24 20);printf(*n);system(tpu

5、t cup 24 113);printf(*n); system(tput cup 25 20);printf(*n);system(tput cup 25 113);printf(*n); system(tput cup 26 20);printf(*n);system(tput cup 26 113);printf(*n); system(tput cup 27 20);printf(*n);system(tput cup 27 113);printf(*n); system(tput cup 28 20); printf(*n);char a6; /此岸char b6; /彼岸void

6、print_state(char a,char b) /打印渡河状态 int i,j,ab,aa,ba,bb; /ab 此岸商人数 ,aa 此岸随从数 bb彼岸商人数,ba,彼岸随从数 aa=ab=ba=bb=0; basic_interface() ; system(tput cup 18 40);printf(此岸商人数:n); system(tput cup 19 40);printf(此岸随从数:n); system(tput cup 18 73);printf(彼岸商人数: n); system(tput cup 19 73);printf(彼岸随从数:n); for(i=0;i6;

7、i+) /计算此岸商人数和随从数 if(ai=B) ab+; else if (ai=A) aa+; system(tput cup 18 53); printf(%dn,ab); /输出此岸商人数 system(tput cup 19 53); printf(%dn,aa); /输出此岸随从数 for(j=0;j6;j+) /计算彼岸商人数和随从数 if(bj=B) bb+; else if(bj=A) ba+; system(tput cup 18 86); printf(%dn,bb); /输出彼岸商人数 system(tput cup 19 86); printf(%dn,ba); /

8、输出彼岸随从数 if(ab=0 & aa=0 & bb=3 & ba=3) /判断是否渡河成功 system(tput cup 23 40); printf(恭喜你!你已成功帮助商人安全过河!按任意键退出.n); system(tput cup 30 0); getchar(); system(clear); exit(0); void process() int i,j,go_b,go_a,back_b,back_a,ab,aa,bb,ba; /go_b,过去商人数,go_a,过去随从数, back_b,回来商人数,back_a,回来随从数, char ch;Start: basic_int

9、erface(); system(tput cup 20 40); printf(请按任意键开始游戏(按Q键退出).); ch=getchar(); if(ch=Q|ch=q) system(clear); exit(0); for(i=0;i3;i+) ai=B; for(i=3;i6;i+) ai=A; for(i=0;i6;i+) bi=0; print_state(a,b); while(1) /过去 for(ab=0,aa=0,i=0;i6;i+) /计算此岸的商人数和随从数 if(ai=B) ab+; else if(ai=A) aa+; system(tput cup 21 43

10、); printf(输入去彼岸商人的人数:n); system(tput cup 22 43); printf(输入去彼岸随从的人数:n); system(tput cup 21 65); scanf(%d,&go_b); /输入去彼岸的商人数 getchar(); system(tput cup 22 65); scanf(%d,&go_a); /输入去彼岸的随从数 getchar(); if(go_bab | go_aaa | go_a+go_b2) /输入不合法 system(tput cup 24 40); printf(输入有误!按任意键重新开始.); getchar(); goto

11、 Start; for(i=1;i=go_b;i+) /过河后两边的状态 for(j=0;j6;j+) if(aj=B) aj=0; break; for(i=1;i=go_b;i+) for(j=0;j6;j+) if(bj=0) bj=B; break; for(i=1;i=go_a;i+) for(j=0;j6;j+) if(aj=A) aj=0; break; for(i=1;i=go_a;i+) for(j=0;j6;j+) if(bj=0) bj=A; break; for(aa=0,ab=0,i=0;i6;i+) /统计过河后a岸的商人数和随从数 if(ai=A) aa+; el

12、se if(ai=B) ab+; for(ba=0,bb=0,i=0;i6;i+) /统计过河后b按的商人数和随从数 if(bi=A) ba+; else if(bi=B) bb+; if(ab=3) |(bb=3) | (ab=aa) | (bb=ba) /可以继续下一步的条件 print_state(a,b); else system(tput cup 24 40); printf(商人被杀,按任意键重新开始.n); system(tput cup 30 0); getchar(); goto Start; /回来 for(bb=0,ba=0,i=0;i6;i+) /统计对岸的商人数和随从

13、数 if(bi=B) bb+; else if(bi=A) ba+; system(tput cup 24 43); printf(输入回此岸商人的人数:n); system(tput cup 25 43); printf(输入回此岸随从的人数:n); system(tput cup 24 65); scanf(%d,&back_b); system(tput cup 25 65); scanf(%d,&back_a); if(back_bbb | back_aba | back_a+back_b2) /判断输入是否合法 system(tput cup 26 40); printf(输入有误!

14、按任意键重新开始.n); system(tput cup 30 0); getchar(); goto Start; for(i=1;i=back_b;i+) /返回后的状态 for(j=0;j6;j+) if(bj=B) bj=0; break; for(i=1;i=back_b;i+) for(j=0;j6;j+) if(aj=0) aj=B; break; for(i=1;i=back_a;i+) for(j=0;j6;j+) if(bj=A) bj=0; break; for(i=1;i=back_a;i+) for(j=0;j6;j+) if(aj=0) aj=A; break; f

15、or(ab=0,aa=0,i=0;i6;i+) /计算返回后此岸的商人数和随从数 if(ai=B) ab+; else if(ai=A) aa+; for(bb=0,ba=0,i=0;i6;i+) /计算返回后彼岸的商人数和随从数 if(bi=B) bb+; else if(bi=A) ba+; if(ab=3) |(bb=3) | (ab=aa) | (bb=ba) /判断是否会进一步继续进行 print_state(a,b); else system(tput cup 24,40); printf(商人被杀,按任意键重新开始.n); system(tput cup 30,0); getchar(); goto Start; void main() process();

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1