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