2022.1.12

8:30-----9:04

奇怪的电梯

9:04-----9:30

Meteor shower S

没有思路,题意不能理解

11:00-----15:00   17:00----19:30

 

 

 

 

 

 

 小猫游戏代码(我写是没有标记数组的代码,用标记数组的代码会简洁一点)

#include"stdio.h"
#include"string.h"
struct queue{
	int data[1000];
	int head;
	int tail;
};//队列 
struct  stack{
	int data[1000];
	int top;
};//栈 
int main() 
{
	struct queue q1,q2;
	struct stack s;
	int t,sign,x;
	q1.head=1;q1.tail=1;
	q2.head=1;q2.tail=1;
	s.top=0;//桌面上牌数为0 
	for(t=1;t<=6;t++)
	{
		scanf("%d",&q1.data[q1.tail++]);
	}
	for(t=1;t<=6;t++)
	{
		scanf("%d",&q2.data[q2.tail++]);
	} 
	while(q1.head<q1.tail&&q2.head<q2.tail)
	{
	x=q1.data[q1.head];
	sign=0;
	for(t=1;t<=s.top;t++)//判断牌是否等于栈里的任意一张牌 
	{
		if(x==s.data[t])
		{
			sign=1;
			break;
		}
	}
	if(sign==0)//如果没有 
	{
		q1.head++;
		s.top++;
		s.data[s.top]=x;//入栈 
	} 
	if(sign==1)//有 
	{
		q1.head++;
		q1.data[q1.tail++]=x;//放在队列末 
		while(s.data[s.top]!=x)
		{
			q1.data[q1.tail++]=s.data[s.top--]; 
		}
		q1.data[q1.tail++]=s.data[s.top--];//取到相同的那一张 
	}
	if(q1.head==q1.tail)//如果head==tail为空队列 
	break;
	x=q2.data[q2.head];
	sign=0;
	for(t=1;t<=s.top;t++)
	{
		if(x==s.data[t])
		{
			sign=1;
			break;
		}
	}
	if(sign==0)
	{
		q2.head++;
		s.top++;
		s.data[s.top]=x;
	}
	if(sign==1)
	{
		q2.head++;
		q2.data[q2.tail++]=x;
		while(s.data[s.top]!=x)
		{
			q2.data[q2.tail++]=s.data[s.top--];//出栈 
		}
		q2.data[q2.tail++]=s.data[s.top--];
 }
	if(q2.head==q2.tail)
	break;
	}
	if(q2.head==q2.tail)
	{
		printf("第一个人获胜\n");
		printf("他手上的牌是:\n");
		for(t=q1.head;t<q1.tail;t++)
		{
			printf("%d ",q1.data[t]);	
		}
		printf("\n");
		if(s.top<=0)
		printf("牌面上没有牌。"); 
		else
		{
		printf("牌面上的牌是:\n");
		for(t=1;t<=s.top;t++)
		{
			printf("%d ",s.data[t]);
		}
		}
	}  
	else 
		{
		printf("第二个人获胜\n");
		printf("他手上的牌是:\n");
		for(t=q2.head;t<q2.tail;t++)
		{
			printf("%d ",q2.data[t]);	
		}
		printf("\n");
		if(s.top<=0)
		printf("牌面上没有牌。");
		else
		{
		printf("牌面上的牌是:\n");
		for(t=1;t<=s.top;t++)
		{
			printf("%d ",s.data[t]);
		}
		}
	} 
	return 0; 
} 

 19:30----20:00

奇怪的电梯(C语言)_bu_xiang_tutou的博客-CSDN博客

共学习8小时。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值