用C语言写一个抽卡游戏。游戏规则是***21卡。人家先抽牌,再抽。最多一次抽四张牌,至少抽一张。

你的问题很简单。不管抽多少人,只要电脑和人一次凑成五个,四轮过后就是最后一次,人肯定输。比如一个人画4,电脑会画1;人画2,电脑画3;人画3,电脑画2;人画1,电脑画4。这样每轮就少了五张牌。四轮过后,剩下的牌只能由人抽,所以电脑会赢。具体程序代码如下:

# include & ltstdio.h & gt?//标准输入/输出头文件

int?Main()//主函数?

{int?n=21,a,b,I;?//n总数,A人抽,B电脑抽,我哪一轮?

for(I = 1;n & gt=0;I++)//用循环让游戏继续?

{printf("\n第%d轮,还剩%d张牌,",I,n);//显示哪一轮以及还剩多少。

do { printf(" \ n您要绘制多少(1-4):");?//提示要绘制的张数。

scanf("%d ",& ampa);} while(a & gt;4 | | a & lt1 | | a >;n);?//如果输入不在1-4之间或者大于n,重新输入?

n-= a;//总张数减去人画的张数。

if(n==0)?//如果有人全部抽到,这个人就输了。

{printf("对不起,你输了!!!");//显示此人丢失的信息。

打破;}//结束循环

if(n==1)?//如果还剩一个,说明电脑已经输了。

{printf("太好了,你赢了!!!");//显示胜利提示

打破;}//结束循环

b = 5-a;//电脑每次加起来都是5赢。

n-= b;//总数减去计算机绘制的张数。

Printf ("%d张是由计算机绘制的\n ",b);?//显示计算机已经拍摄了多少张照片。

if(n==1)?//如果只剩下最后一个,人就没得选择了。放弃吧。

{printf("对不起,你输了!!!");//显示失败提示

打破;}}?//结束循环

getchar();getchar();getchar();//等待键盘键看到操作结束。

回归?0;}//结束程序