基于visual Studio2013解决C语言竞赛题之1054抽牌游戏
2024-10-12 10:19:26
题目
解决代码及点评
/************************************************************************/
/*
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 Studio (VS IDE) 你必须知道的功能和技巧 - 【.Net必知系列】
- jQuery工具函数(转)
- ping提示小结
- c++中头文件include规则浅析[译]
- Spring aop 实现异常拦截
- 深入了解JavaScript中的for循环
- openssl 摘要和签名验证指令dgst使用详解
- 自动化高效css开发,畅谈less的灵活变化
- 如何下载github项目中的部分文件(文件夹)
- Django_中国化
- web开发概述
- MyBatis新手教程(一)
- [NOIp2016] 换教室
- 18-09-09 Linux 系统如何获取外部的数据例如 软件的2中方式
- 《python for data analysis》第四章,numpy的基本使用
- Pycharm配置支持vue语法
- JSOUP 超时分析与处理
- hive优化之开启压缩功能
- 初识Vue,简单的todolist
- ActiveReports 区域报表中的事件介绍