资源描述
精品文档#i nclude #in elude #in elude #i nclude int renji();int renren();int renji()int n,k,a,b,m;printf(”分别输入山数,每次最大搬山量,用空格隔开,回车结束n);scan f(%d%d,&n,&k);printf(开始了,你先来吧。n);for(; n0;)scan f(%d, &a);if(ak)printf(搬山数需小于 %d 个n,k);continue; if(n-ak)b=( n-1)%(k+1); if(b=0)b=1;else b=n-1;n=n-b;printf(对手搬 %d 个,剩%d 个n,b,n);return 0; int renren()int a,b,c,d,i,j;printf(分别输入人数、山数,每次最大搬山量,用空格隔开,回车结束scan f(%d%d%d, &a,&b,&c);if(a0;)for(i=1;i+)printf(”下面由第%d 位玩家搬山n,i);goto L;L:sca nf(%d,&j);if(jc)printf(搬山数需小于 %d 个n,c); goto L;if(b-j0)printf(没有那么多山了。n); goto L;if(j=0)printf(不能不搬山n); goto L;if(b-j=1)printf(恭喜你赢了!nn);return 0;if(b-j=0)printf(你输得很奇怪。nn);return 0;b=b-j;printf(第%d 位玩家搬%d 个,剩余%d 个,i,j,b);if(i=a)i=0;return 0; int mai n()精品文档int q,p; system(color D1); system(mode con cols=60 lin es=12);printf(nn设有 n 座山,比赛的双方或多方轮流搬山prin tf(由你先搬第一座山,谁搬了最后一座山谁输for(;)printf(输入 1:人机对战2:人人对战n);scan f(%d, &p);if(p=1)renji(); if(p=2)re nren();if(p!=1 &p!=2)printf(别闹,好好输入。n);con ti nue;printf(再来一局? n);printf(输入 1 继续,其余结束n); scan f(%d, &q);if(q!=1)break;else printf(加油,少年! nn);printf(游戏结束。);return 0;n);n);
展开阅读全文