题目

解决代码及点评



/************************************************************************/
/*
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






基于visual Studio2013解决C语言竞赛题之1054抽牌游戏的更多相关文章

  1. 基于visual Studio2013解决C语言竞赛题之1049抓牌排序

       题目 解决代码及点评 /* 功能:插入排序.许多玩牌的人是以这样的方式来对他们手中的牌进行排序的: 设手中原有3张牌已排好序,抓1张新牌,若这张新牌的次序在原来的第2张牌之后,第 3 ...

  2. 基于visual Studio2013解决C语言竞赛题之1053洗牌

       题目 解决代码及点评 /* 功能:洗扑克牌.将54张牌分别编号为1,2,-,54号,并放在数组M中. 洗牌方法如下:产生[1,54]区间内的一个随机数K,将M[1]与M[K]交换: ...

  3. 基于visual Studio2013解决C语言竞赛题之0401阶乘

      题目 解决代码及点评 这个是一道经典的教科书题目,基本上每本基础的c/c++语言教科书都会有这个题目 用来演示循环语句 #include <stdio.h> #include ...

  4. 基于visual Studio2013解决C语言竞赛题之0205位数求和

     题目

  5. 基于visual Studio2013解决C语言竞赛题之0201温度转换

    题目 解决代码及点评 #include <stdio.h> #include <stdlib.h> void main() { float f; float c; float ...

  6. 基于visual Studio2013解决C语言竞赛题之0409 100以内素数

       题目 解决代码及点评 在已经知道素数是怎么判断的基础上,增加循环,可以判断出100以内的素数 /******************************************* ...

  7. 基于visual Studio2013解决C语言竞赛题之0408素数

      题目 解决代码及点评 判断一个数是不是素数的方法,一般是看n是不是能被n以内的某个整数(1除外)整除 为了提高效率,这个整数范围一般缩小到n的平方根 如果在这个范围内的整数都不能整除,那么 ...

  8. 基于visual Studio2013解决C语言竞赛题之0407最大值最小值

      题目 解决代码及点评 这道题考察循环和比较 /*********************************************************************** ...

  9. 基于visual Studio2013解决C语言竞赛题之0406数列求和

      题目 解决代码及点评 这个题目,还是考察for循环的使用 以及数列规律,该数列的特点是第n个分子 = 第n-1个分子 + 第n-2个分子,分母也是此规律 而另外一个规律是第n个分子和第n- ...

随机推荐

  1. Java怎样高速构造JSON字符串

    目标:依据key/value高速构造一个JSON字符串作为參数提交到web REST API服务上. 分别測试里阿里巴巴的FastJson和Google Gson,终于我採用了Google Gson来 ...

  2. B. Friends and Presents(Codeforces Round #275(div2)

    B. Friends and Presents time limit per test 1 second memory limit per test 256 megabytes input stand ...

  3. Ceph之数据分布:CRUSH算法与一致性Hash

    转自于:http://www.cnblogs.com/shanno/p/3958298.html?utm_source=tuicool 数据分布是分布式存储系统的一个重要部分,数据分布算法至少要考虑以 ...

  4. iOS开发关于AppStore程序的上传流程

    主要内容: 1.创建唯一标示符App ID(前提是你的程序在真机上测试没有任何问题) 2.申请发布证书 3.申请发布描述文件 4.iTunes Connect创建App并填写信息 5.选择证书编译打包 ...

  5. 增进离岸Java开发效率的10个提示

    本文来源于我在InfoQ中文站原创的文章,原文地址是:http://www.infoq.com/cn/news/2013/12/10-tips-offshore-java-effective Cygn ...

  6. 20150706 js之定时器

    对应智能社:09 定时器的使用 开启定时器: setInterval(xxx(),1000);//间隔型 第一个参数为函数,第二个为时间,单位为毫秒 setTimeout(xxx(),1000);// ...

  7. POJ 1041 John's trip 无向图的【欧拉回路】路径输出

    欧拉回路第一题TVT 本题的一个小技巧在于: [建立一个存放点与边关系的邻接矩阵] 1.先判断是否存在欧拉路径 无向图: 欧拉回路:连通 + 所有定点的度为偶数 欧拉路径:连通 + 除源点和终点外都为 ...

  8. 简单实用的下拉菜单(CSS+jquery)

    原文 简单实用的下拉菜单(CSS+jquery) 没什么可以说的,直接上例子 html+jquery代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTM ...

  9. JSpider是一个用Java实现的WebSpider

    JSpider是一个用Java实现的WebSpider,JSpider的执行格式如下: jspider [URL] [ConfigName] URL一定要加上协议名称,如:http://,否则会报错. ...

  10. 一年四个P(Project)

    盼望着,盼望着,提高班众多革命同胞的假期终于来了.伴随着校园之中越来越多的同学身影,暑假学习时的那份静谧一散而去,恍然间在提高班学习的第二个年头也已经过去了(~_~),而自己的大学生涯也就像秋后的蚂蚱 ...