本文主要是介绍魔术师发牌问题2,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
/** 就说魔术师要表演一个纸牌魔术,他将所有红桃和黑桃扑克牌叠在一起。第一次,他翻看第一张,为黑桃A,并将黑桃A放到一边。接下来,他将牌堆上面两张牌放到牌堆底部,翻开第三张牌,为黑桃2,并将黑桃2放到一边。然后又将牌堆顶的两张牌放到牌堆低,并展示第三张...直到所有牌都完成展示。所有牌的展示顺序如下:黑桃:a 1 2 3 4 5 6 7 8 9 10 j q k红桃:a 1 2 3 4 5 6 7 8 9 10 j q k问:原来牌堆顺序是什么?StoryMonster 2016/7/14*/#include<iostream>using namespace std;int main()
{int cardHeal[26] = {0};//1-13表示黑桃,14-26表示红桃1-13cardHeal[0] = 1;int currentCard = 2;int index = 0;while(currentCard <= 26){int count = 0;while(true){if(cardHeal[index] == 0){count++;if(count == 3) break;}index++;if(index == 26) index = 0;}cardHeal[index] = currentCard++;}for(index=0;index<26;index++){if(cardHeal[index]<=13)cout<< "黑桃"<<cardHeal[index]<<" ";else cout<<"红桃"<<cardHeal[index]-13<<" ";}cout<<endl;return 0;
}
这篇关于魔术师发牌问题2的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!