商人过河c语言实验报告,商人过河C语言程序编程.doc

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

include stdio.hinclude stdlib.hinclude string.hvoid basic_interface 基本界面 systemclear;systemtput cup 5 20;printfn;systemtput cup 6 20;printf* *n;systemtput cup 7 20;printf* _欢迎使用商人过河游戏_ *n;systemtput cup 8 20;printf* *n;systemtput cup 9 20;printf* 游戏说明 *n;systemtput cup 10 20;printf* 三个商人带着三个随从和货物过河,船每次最多只能载两个人,要求在过河期间,任一岸上商人的人数 *n;systemtput cup 11 20;printf* 要大于或等于随从的人数,否则随从会杀掉商人抢走货物。 *n;systemtput cup 12 20; printf* *n;systemtput cup 13 20;printf* 游戏操作 *n;systemtput cup 14 20 ;printf* (1)依次输入过河的商人和随从人数; *n;systemtput cup 15 20;printf* (2)非法输入按键将重新开始。 *n;systemtput cup 16 20;printf**n;systemtput cup 17 20;printf*n;systemtput cup 17 113;printf*n;systemtput cup 18 20;printf*n;systemtput cup 18 113;printf*n;systemtput cup 19 20;printf*n;systemtput cup 19 113;printf*n;systemtput cup 20 20;printf*n;systemtput cup 20 113;printf*n;systemtput cup 21 20;printf*n;systemtput cup 21 113;printf*n;systemtput cup 22 20;printf*n;systemtput cup 22 113;printf*n;systemtput cup 23 20;printf*n;systemtput cup 23 113;printf*n;systemtput cup 24 20;printf*n;systemtput cup 24 113;printf*n;systemtput cup 25 20;printf*n;systemtput cup 25 113;printf*n;systemtput cup 26 20;printf*n;systemtput cup 26 113;printf*n;systemtput cup 27 20;printf*n;systemtput cup 27 113;printf*n;systemtput cup 28 20;printfn;char a6; 此岸char b6; 彼岸void print_statechar a,char b 打印渡河状态int i,j,ab,aa,ba,bb; ab 此岸商人数 ,aa 此岸随从数 bb彼岸商人数,ba,彼岸随从数 aaabbabb0; basic_interface ; systemtput cup 18 40;printf此岸商人数n; systemtput cup 19 40;printf此岸随从数n; systemtput cup 18 73;printf彼岸商人数 n; systemtput cup 19 73;printf彼岸随从数n; fori0;i6;i 计算此岸商人数和随从数 ifaiB ab; else if aiA aa; systemtput cup 18 53; printfdn,ab; 输出此岸商人数 systemtput cup 19 53; printfdn,aa; 输出此岸随从数 forj0;j6;j 计算彼岸商人数和随从数 ifbjB bb; else ifbjA ba; systemtput cup 18 86;printfdn,bb; 输出彼岸商人数systemtput cup 19 86;printfdn,ba; 输出彼岸随从数ifab0 aa0 bb3 ba3 判断是否渡河成功systemtput cup 23 40; printf恭喜你你已成功帮助商人安全过河按任意键退出.n; systemtput cup 30 0;getchar;systemclear; exit0;void processint i,j,go_b,go_a,back_b,back_a,ab,aa,bb,ba; go_b,过去商人数,go_a,过去随从数, back_b,回来商人数,back_a,回来随从数, char ch;Startbasic_interface;systemtput cup 20 40;printf请按任意键开始游戏(按Q键退出).;chgetchar;ifchQchqsystemclear;exit0;fori0;i3;iaiBi6;iaiAi6;ibi0while1过去forab0,aa0,i0;i6;i 计算此岸的商人数和随从数ifaiB ab;else ifaiA aa;systemtput cup 21 43;printf输入去彼岸商人的人数n;systemtput cup 22 43;printf输入去彼岸随从的人数n;systemtput cup 21 65;scanfd,go_b; 输入去彼岸的商人数getchar;systemtput cup 22 65;scanfd,go_a; 输入去彼岸的随从数getchar;ifgo_b0 go_bab go_a0 go_aaa go_ago_b1 go_ago_b2 输入不合法systemtput cup 24 40;printf输入有误按任意键重新开始.;getchar;goto Start;fori1;igo_b;i 过河后两边的状态 forj0;j6;j ifajB aj0 fori1;igo_b;i forj0;j6;j ifbj0 bjB fori1;igo_a;i forj0;j6;j ifajA aj0 fori1;igo_a;i forj0;j6;j ifbj0 bjAforaa0,ab0,i0;i6;i 统计过河后a岸的商人数和随从数 ifaiA aa; else ifaiB ab;forba0,bb0,i0;i6;i 统计过河后b按的商人数和随从数 ifbiA ba; else ifbiB bb; ifab3 bb3 abaa bbba 可以继续下一步的条件 print_statea,b; elsesystemtput cup 24 40;printf商人被杀,按任意键重新开始.n;systemtput cup 30 0;getchar;goto Start;回来forbb0,ba0,i0;i6;i 统计对岸的商人数和随从数 ifbiB bb; else ifbiA ba;systemtput cup 24 43;printf输入回此岸商人的人数n;systemtput cup 25 43;printf输入回此岸随从的人数n;systemtput cup 24 65;scanfd,back_b;systemtput cup 25 65;scanfd,back_a;ifback_b0 back_bbb back_a0 back_aba back_aback_b1 back_aback_b2 判断输入是否合法systemtput cup 26 40; printf输入有误按任意键重新开始.n;systemtput cup 30 0; getchar; goto Start;fori1;iback_b;i 返回后的状态 forj0;j6;j ifbjB bj0 fori1;iback_b;i forj0;j6;j ifaj0 ajBfori1;iback_a;i forj0;j6;j ifbjA bj0 fori1;iback_a;i forj0;j6;j ifaj0 ajA forab0,aa0,i0;i6;i 计算返回后此岸的商人数和随从数 ifaiB ab; else ifaiA aa;forbb0,ba0,i0;i6;i 计算返回后彼岸的商人数和随从数 ifbiB bb; else ifbiA ba; ifab3 bb3 abaa bbba 判断是否会进一步继续进行 print_statea,b;else systemtput cup 24,40; printf商人被杀,按任意键重新开始.n; systemtput cup 30,0; getchar; goto Start; void mainprocess;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值