温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

使用C语言怎么实现一个小猫钓鱼算法

发布时间:2021-04-20 17:37:16 来源:亿速云 阅读:317 作者:Leah 栏目:编程语言

使用C语言怎么实现一个小猫钓鱼算法?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

C语言是什么

C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发,使用C语言可以以简易的方式编译、处理低级存储器。

C语言小猫钓鱼实现了两个人打牌,分别依次将牌放到桌子上,若A出的牌与桌子上的牌一样,则A将桌子上两张一样的牌及其中间所有牌放到A手中,看A,B两个人谁先打完所有牌。

#include <stdio.h> struct queue {  int data[1000];  int head;  int tail; }; struct stack {  int top;  int data[10]; };   int main(){  struct queue q1,q2;  struct stack s;  int i,t,r,flag=0;  q1.head=1;q1.tail=1;  q2.head=1;q2.tail=1;    //初始化桌子  s.top=0;  //读入6个牌  for(i=1;i<=6;i++)  {  printf("输入q1的六张牌:");  scanf("%d",&q1.data[i]);  q1.tail++;  }  for(i=1;i<=6;i++)  {  printf("输入q2的六张牌:");  scanf("%d",&q2.data[i]);  q2.tail++;  }  //出牌  while(q1.head<q1.tail&&q2.head<q2.tail)  {  //debug  printf("\nq1手中的牌为:");  for(i=q1.head;i<=q1.tail-1;i++)  {  printf(" %d",q1.data[i]);  }  printf("\nq2手中的牌为:");  for(i=q2.head;i<=q2.tail-1;i++)  {  printf(" %d",q2.data[i]);  }  if(s.top>0)  {  printf("\n桌子上的牌是:");  for(i=1;i<=s.top;i++)  {  printf(" %d",s.data[i]);  }  printf("\n");  }  else  {  printf("\n桌子上没牌了\n");  }  //q1出牌  flag=0;  t=q1.data[q1.head];  for(i=1;i<=s.top;i++)  {  if(t==s.data[i])  {  flag=1;break;  }  }  if(flag==0)  {  q1.head++;  s.top++;  s.data[s.top]=t;  }  if(flag==1)  {  q1.head++;  q1.data[q1.tail]=t;  q1.tail++;  while(s.data[s.top]!=t)  {  q1.data[q1.tail++]=s.data[s.top];  s.top--;  }  q1.data[q1.tail]=t;  q1.tail++;  s.top--;  }  if(q1.head==q1.tail) break;  //q2出牌  flag=0;  r=q2.data[q2.head];  for(i=1;i<=s.top;i++)  {  if(r==s.data[i])  {  flag=1;break;  }  }  if(flag==0)  {  q2.head++;  s.top++;  s.data[s.top]=r;  }  if(flag==1)  {  q2.head++;  q2.data[q2.tail]=r;  q2.tail++;  while(s.data[s.top]!=r)  {  q2.data[q2.tail++]=s.data[s.top];  s.top--;  }  q2.data[q2.tail]=r;  q2.tail++;  s.top--;  }   }  if(q1.head==q1.tail)  {  printf("q2赢了!");  printf("q2手中的牌为:");  for(i=q2.head;i<=q2.tail-1;i++)  {  printf(" %d",q2.data[i]);  }  if(s.top>0)  {  printf("桌子上的牌是:");  for(i=1;i<=s.top;i++)  {  printf(" %d",s.data[i]);  }  }  else  {  printf("桌子上没牌了");  }  }  if(q2.head==q2.tail)  {  printf("q1赢了!");  printf("q1手中的牌为:");  for(i=q1.head;i<=q1.tail-1;i++)  {  printf(" %d",q1.data[i]);  }  if(s.top>0)  {  printf("桌子上的牌是:");  for(i=1;i<=s.top;i++)  {  printf(" %d",s.data[i]);  }  }  else  {  printf("桌子上没牌了");  }  }  getchar();getchar(); }

关于使用C语言怎么实现一个小猫钓鱼算法问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI