c语言小猫钓鱼怎么用数列完成
1、#include <stdio.h>struct queue{int data[1000];int head;int tail;};struct stack{int top;int data[10];};
2、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++;}
3、//出牌while(q1.head<q1.tail&&q2.head<挢旗扦渌;q2.tail){//颊俄岿髭debugprintf("\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");}
4、//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;
5、//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();}
6、以上就是本文的全部内容,希望对大家的学习有所帮助。总结图如下