📄 4.txt
字号:
/*游戏说明: 取苹果,玩家一次最多只能取走(N-1)个苹果,谁拿到最后一个苹果,他就赢了*/
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
show_menu() /*显示画面菜单*/
{
printf( "*===================*\n" );
printf( "* 取苹果游戏 *\n" );
printf( "* 1. 游戏开始 *\n" );
printf( "* 2. 退出游戏 *\n" );
printf( "*===================*\n\n");
printf(" 请选择按键 [1.2]: \n " );
}
youxi()
{
int num1,num2,n,m;
int N;
int A;
int flag=0;
printf("\n请输入总共有多少苹果: ");
scanf("%d",&N);
n=N;
printf("\n请选择游戏顺序[1玩家,2电脑]: ");
scanf("%d",&A);
switch(A) {
case 1:
printf("\n玩家输入要取的苹果数[1--%d]:\n ",N-1); /*1....N-1 */
scanf("%d",&num1);
while(!(num1>=1&&num1<=N-1))
{
printf("\n输入有误,请重新输入1--%d:\n",N-1);
getchar();
scanf("%d",&num1);}
n=N-num1;
printf("剩于苹果%d:\n",n) ;
flag=2;
while(n>0)
{
if(n<2*num1)
{ num2=1+(rand()%(n));
printf("\n电脑取得的苹果数: %d\n",num2);
n=n-num2; }
else
{num2=1+(rand()%(2*num1));
printf("\n电脑取得的苹果数: %d\n",num2);
n=n-num2;}
printf("剩于苹果%d:\n",n);
flag=1;
if(n>0)
{ if(n<2*num2)
{printf("\n\n输入玩家要取的苹果数[1--%d]:\n ",n);
scanf("%d",&num1);}
else
{ printf("\n\n输入玩家要取的苹果数[1--%d]:\n ",2*num2);
scanf("%d",&num1); }
while(!(num1<=2*num2&&num1>=1))
{
printf("\n输入有误,请重新输入1--%d:\n",N-1);
getchar();
scanf("%d",&num1);
}
n=n-num1;
printf("剩于苹果%d:\n",n) ;
flag=2;
}
}
break;
case 2:
printf("\n由电脑先取苹果\n");
num2=1+(rand()%N);
printf("\n电脑取得的苹果数是: %d\n",num2);
n=N-num2;
printf("剩于苹果%d:\n",n) ;
flag=1;
while(n>0)
{ if(n<2*num2)
{printf("\n\n输入玩家要取的苹果数[1--%d]:\n ",n);
scanf("%d",&num1);}
else
{ printf("\n\n输入玩家要取的苹果数[1--%d]:\n ",2*num2);
scanf("%d",&num1); }
while(num1>2*num2||num1<=0)
{
printf("\n\n输入玩家要取的苹果数[1--%d]:\n ",2*num2);
scanf("%d",&num1);
}
n=n-num1;
printf("剩于苹果%d:\n",n) ;
flag=2;
if(n>0)
{
if(n<2*num1)
{ num2=1+(rand()%(n));
printf("\n电脑取得的苹果数: %d\n",num2);
n=n-num2;}
else
{
num2=1+(rand()%(2*num1));
printf("\n电脑取得的苹果数是: %d\n",num2);
n=n-num2;}
printf("剩于苹果%d:\n",n) ;
flag=1;
}
}
break;
}
m=flag;
if(m==1) printf("\n\n电脑胜\n");
else if(m==2) printf("\n\n玩家胜\n"); /*根据flag判断谁胜利 */
}
int main()
{
while(1)
{
int choice;
char ch;
show_menu();
scanf("%d",&choice);
switch(choice)
{
case 1:
youxi();
break;
case 2:
return 0 ;
break ;
default:
getchar();
break;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -