题目

解决代码及点评

/************************************************************************/
/*
83. 人机搏弈。
有15颗棋子,你和计算机轮流取,每次只允许取1─3颗,直到取尽为止,谁手中的棋子总数为奇数者为赢。
先由键盘输入来确定计算机先取还是你先取。
提示:取胜者秘诀是:第一次先取两颗,以后按下边规则进行:
1) 刚取的棋子数如果和已取得的棋子数加起来是个奇数,那么剩下的棋子数必须是1或8或9;
2) 刚取的棋子数如果和已取得的棋子数加起来是个偶数,那么剩下的棋子数必须是4或5。
思考: n颗棋子时,程序应如何修改?*/
/************************************************************************/
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>void main()
{const int N=15;int num=N;int numw=0;int numd=0;int who=0;printf("请选择游戏选项  1 代表计算机先取  2,代表玩家先取\n");scanf_s("%d",&who);if (who==1){int temp=rand()%3+1;numd+=temp;num-=temp;printf("计算机选择了%d\n",temp);while(num>1){scanf_s("%d",&temp);if (temp!=1&&temp!=2&&temp!=3){printf("谁让你乱按的!!");goto loop;}else{if (num<temp){printf("谁让你乱按的!!");goto loop;}else{num-=temp;numw+=temp;printf("现在还剩%d张牌",num);}}if (num==0){if (numw%2){printf("玩家赢了\n");}else{printf("电脑赢了\n");}goto loop;}else if (num==1){if (numw%2){printf("玩家赢了\n");}else{printf("电脑赢了\n");}numd+=1;goto loop;}if (num>1){int temp1=rand()%3+1;if (temp1>num){temp=num;}numd+=temp;printf("电脑选择%d\n",temp1);num-=temp1;printf("现在还剩%d张牌",num);}}if (num==0){if (numw%2){printf("玩家赢了\n");}else{printf("电脑赢了\n");}goto loop;}else if (num==1){   numw+=1;if (numw%2){printf("玩家赢了\n");}else{printf("电脑赢了\n");};goto loop;}}else if (who==2){int temp;while(num>1){scanf_s("%d",&temp);if (temp!=1&&temp!=2&&temp!=3){printf("谁让你乱按的!!");goto loop;}else{if (num<temp){printf("谁让你乱按的!!");goto loop;}else{num-=temp;numw+=temp;printf("现在还剩%d张牌",num);}}if (num==0){if (numw%2){printf("玩家赢了\n");}else{printf("电脑赢了\n");}goto loop;}else if (num==1){if (numw%2){printf("玩家赢了\n");}else{printf("电脑赢了\n");}numd+=1;goto loop;}if (num>1){int temp1=rand()%3+1;if (temp1>num){temp=num;}numd+=temp;printf("电脑选择%d\n",temp1);num-=temp1;printf("现在还剩%d张牌",num);}}if (num==0){if (numw%2){printf("玩家赢了\n");}else{printf("电脑赢了\n");}goto loop;}else if (num==1){ numw+=1;if (numw%2){printf("玩家赢了\n");}else{printf("电脑赢了\n");};goto loop;}}else{printf("谁让你乱按的!!");}loop: system("pause");
}

代码编译以及运行

由于资源上传太多,资源频道经常被锁定无法上传资源,同学们可以打开VS2013自己创建工程,步骤如下:

1)新建工程

2)选择工程

3)创建完工程如下图:

4)增加文件,右键点击项目

5)在弹出菜单里做以下选择

6)添加文件

7)拷贝代码与运行

程序运行结果

代码下载

http://download.csdn.net/detail/yincheng01/6681845

解压密码:c.itcast.cn






转载于:https://www.cnblogs.com/new0801/p/6177403.html

基于visual Studio2013解决C语言竞赛题之1083人机博弈相关推荐

  1. 基于visual Studio2013解决C语言竞赛题之1085相邻之和素数

        题目 解决代码及点评 /************************************************************************/ /* ...

  2. 基于visual Studio2013解决C语言竞赛题之1081shell排序

        题目 解决代码及点评 /************************************************************************/ /* ...

  3. 基于visual Studio2013解决C语言竞赛题之1027 YN

          题目 解决代码及点评 /*计算Yn的值,直到|Yn - Yn-1|<10-6为止,并打印出此时共作了多少次COS计算. 提示:Yn+1=COS(Yn),故本题 ...

  4. 基于visual Studio2013解决C语言竞赛题之1089牛虎过河

        题目 解决代码及点评 /************************************************************************/ /* ...

  5. 基于visual Studio2013解决C语言竞赛题之1070删除相同节点

        题目 解决代码及点评 /************************************************************************/ /* ...

  6. 基于visual Studio2013解决C语言竞赛题之0502最小数替换

         题目 解决代码及点评 /************************************************************************/ ...

  7. 基于visual Studio2013解决C语言竞赛题之1091多项式

        题目 解决代码及点评 /************************************************************************/ /* ...

  8. 判断同构数 c语言,基于visual Studio2013解决C语言竞赛题之0413同构数

    JQuery的基础和应用 1.什么是?    DOM的作用:提供了一种动态的操作HTML元素的方法.    jQuery是一个优秀的js库.用来操作HTML元素的工具.    jQuery和DOM . ...

  9. 基于visual Studio2013解决C语言竞赛题之0710排序函数

     题目 解决代码及点评 /* 10.用指向指针的指针的方法对N个整数排序并输出. 要求排序单独写成一个函数.N个整数和N在主程序中输入,最后在主函数中输出. */ #include <std ...

最新文章

  1. WPF ValidationRule的特点(默认目标-源才校验)
  2. vs 构建linux 项目,使用Linux上的Mono构建VS 2017 MSBuild csproj项目
  3. Mybatis中重要的小知识点
  4. 黄聪:WordPress判断当前用户是否为管理员登录
  5. SQL Azure Reporting CTP
  6. 关于sha1加密的一个问题。。。。
  7. 【报告分享】2019互联网大会大佬演讲实录 (附11个演讲文档下载链接)
  8. python setdefault函数_Python字典(Dictionary)setdefault()函数理解
  9. 工人与资本家互相养活,主动权在资本家手里
  10. Web项目部署到阿里云
  11. 自己为 GridView 写分页 如: [首页][上一页][下一页][末页]
  12. VMware-workstation 密钥
  13. 【Python】使用Python批量移动文件
  14. mysql 查询每个班级的前三名
  15. Python 微信自动化工具开发系列06_根据用户信息自动回复升级版本(2022年10月可用)
  16. 【名言警句】马太效应
  17. android app英文 英文模式,英语场景主题会话与单词app
  18. NeuroImage:暴力的隐式创伤—异常运动振荡脑活动与创伤后应激症状有关
  19. 简要介绍一下Dos/Windows格式文件和Unix/Linux格式文件(剪不断理还乱的\r\n和\n)
  20. 广东省重点农业龙头企业补贴奖励金及申报条件,补贴50万

热门文章

  1. 前端开发利器—FIDDLER 转
  2. linux成为管理员_成为系统管理员需要知道的
  3. 用开源代码如何建立网站_在开源上建立自举业务
  4. opensource项目_推出“什么是开放式教育?” Opensource.com上的资源
  5. JS_console对象中的一些常用方法
  6. Bootstrap创建拼接式按钮下拉菜单
  7. Bootstrap 标签导航的布局
  8. CSS 字体风格 font-style属性
  9. 设置ROS机器人避免行走到地图未知区域
  10. matlab圆形器件,计算围绕点+ Matlab的圆形箱