题目1:实现扑克牌问题
扑克牌原理:有A-K共13张牌摞在一起,不知道其中的顺序,拿出最上面的一张放在最下面,拿出第二张牌放在桌子上,循环操作,直到所有牌放在桌子上,桌子上的牌的顺序是A-K,问牌摞在一起的顺序是什么?
#include
typedef struct Queue
{
int index; //原序号
}Queue;
Queue qw[10001];
int main()
{
int result[13],front = 0,rear = 13,k = 1;
for(int i = 0;i < 13;i++)
{
qw[i].index = i;
result[i] = 0;
}
while(front < rear)
{
//出队到桌面
int index = qw[front].index;
result[index] = k++;
//出队到队尾
front++;
if(front == rear)break;
qw[rear++] = qw[front];
front ++;
}
for(int i = 0;i < 13;i++)
{
printf("%d ",result[i]);
}
printf("\n");
return 0;
}