题目

解决代码及点评



/************************************************************************/
/*
54. 有N张牌,计算机和你轮流取牌,每次只能取 1─2张,谁最后取完谁胜利。编写完成此功能的程序。
要求:
1) 让计算机先取。
2) 你取的张数由键盘输入。
3) 计算机第一次取牌时由键盘输入来确定是取1还是取2,以后它再取牌时由程序判断来决定取几张牌。 */
/************************************************************************/
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h> void main()
{//默认设置 N>2;
const int N=10;
printf("总共有牌%d\n",N);
int num=N;
if (num<=2)
{
printf("这有什么好玩的....");
goto loop;
}
int who=0;
printf("请选择游戏选项 1 代表计算机先取 2,代表玩家先取\n");
scanf_s("%d",&who);
if (who==1)
{
printf("请为电脑第一次选择张数 1 或2 \n");
int temp=0;
scanf_s("%d",&temp);
if (temp!=1&&temp!=2)
{
printf("谁让你乱按的!!");
return;
}
num-=temp;
while(num>1)
{
scanf_s("%d",&temp);
if (temp!=1&&temp!=2)
{
printf("谁让你乱按的!!");
goto loop;
}
else
{
num-=temp;
printf("现在还剩%d张牌",num);
}
if (num==0)
{
printf("玩家赢了\n");
goto loop;
}
else if (num==1)
{
printf("电脑赢了");
goto loop;
}
if (num>1)
{
int temp1=rand()%2+1;
printf("电脑选择%d\n",temp1);
num-=temp1;
printf("现在还剩%d张牌",num);
} }
if (num==0)
{
printf("电脑赢了");
goto loop;
}
else if (num==1)
{
printf("玩家赢了");
goto loop;
} }
else if (who==2)
{
int temp;
while(num>1)
{
scanf_s("%d",&temp);
if (temp!=1&&temp!=2)
{
printf("谁让你乱按的!!");
goto loop;
}
else
{
num-=temp;
printf("现在还剩%d张牌",num);
}
if (num==0)
{
printf("玩家赢了");
goto loop;
}
else if (num==1)
{
printf("电脑赢了");
goto loop;
}
if (num>1)
{
int temp1=rand()%2+1;
printf("电脑选择%d\n",temp1);
num-=temp1;
printf("现在还剩%d张牌",num);
} }
if (num==0)
{
printf("电脑赢了");
goto loop;
}
else if (num==1)
{
printf("玩家赢了");
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






最新文章

  1. Visual Studio (VS IDE) 你必须知道的功能和技巧 - 【.Net必知系列】
  2. jQuery工具函数(转)
  3. ping提示小结
  4. c++中头文件include规则浅析[译]
  5. Spring aop 实现异常拦截
  6. 深入了解JavaScript中的for循环
  7. openssl 摘要和签名验证指令dgst使用详解
  8. 自动化高效css开发,畅谈less的灵活变化
  9. 如何下载github项目中的部分文件(文件夹)
  10. Django_中国化
  11. web开发概述
  12. MyBatis新手教程(一)
  13. [NOIp2016] 换教室
  14. 18-09-09 Linux 系统如何获取外部的数据例如 软件的2中方式
  15. 《python for data analysis》第四章,numpy的基本使用
  16. Pycharm配置支持vue语法
  17. JSOUP 超时分析与处理
  18. hive优化之开启压缩功能
  19. 初识Vue,简单的todolist
  20. ActiveReports 区域报表中的事件介绍

热门文章

  1. 多线程wait()和sleep()以及InterruptedException异常
  2. 【Android】ScrollView+GridView 显示问题
  3. pycharm+QT4的helloworld
  4. GIT分支操作常用命令
  5. mysql 创建临时节点
  6. coreldraw圆形裁剪
  7. swift-数组array
  8. 自己定义progressdialog,改善用户体验
  9. java高级project师须要掌握的技术
  10. 使用webview来查看网站