#include<stdio.h>
void main()
{
int n,k,x,y,cc,pc,g;
clrscr();
puts("*******************************************************");
puts("* This is a Mountain Moveing Game. *");
puts("* There are n mountains, two persons move them in *");
puts("* turn. Each one each time moves 1 to k mountains, the*");
puts("* one who takes the last stick will lose the game. *");
puts("*******************************************************");
printf(" >> --------------- Game Begin ---------------------\n");
pc=cc=0;
g=1;
for(;;)
{
printf(" >> No.%2d game \n",g++);
printf(" >> ---------------------------------------\n");
printf(" >> How many mountains are there? ");
scanf("%d",&n);
if(!n) break;
printf(" >> How many mountains are allowed to each time? ");
do{
scanf("%d",&k);
if(k>n||k<1) printf(" >> Repeat again!\n");
}while(k>n||k<1);
do{
printf(" >> How many mountains do you wish move ? ");
scanf("%d",&x);
if(x<1||x>k||x>n) /*判断搬山数是否符合要求*/
{
printf(" >> Illegal,again please!\n");
continue;
}
n-=x;
printf(" >> There are %d mountains left now.\n",n);
if(!n)
{
printf(" >> ---- I win. You are failure.----------\n\n");cc++;
}
else
{
y=(n-1)%(k+1); /*求出最佳搬山数*/
if(!y) y=1;
n-=y;
printf(" >> Copmputer move %d mountains away.\n",y);
if(n) printf(" >> There are %d mountains left now.\n",n);
else
{
printf(" >> ---- I am failure. You win.-----------\n\n");
pc++;
}
}
}while(n);
}
printf(" >> Games in total have been played %d.\n",cc+pc);
printf(" >> You score is win %d,lose %d.\n",pc,cc);
printf(" >> My score is win %d,lose %d.\n",cc,pc);
printf(" >> --------------- Game Over! ---------------------\n");
printf("\n Press any key to quit...");
getch();
}
#include<stdio.h>void main(){ int n,k,x,y,cc,pc,g; clrscr(); puts("*******************************************************"); puts("* This is a Mountain Moveing Game. *"); puts("* There are n mountains, two person.