在扑克牌游戏中,每次游戏开始都要求把54张牌重新排列一下,称为洗牌。试编写程序将一副扑克牌(用54个整数1~54表示)随机洗好后,顺序输出54张牌的情况。

来源:互联网 发布:android js框架 编辑:程序博客网 时间:2024/05/27 20:51

问题及代码:

/**Copyright (c) 2016,烟台大学计算机学院*All rights reserved.*文件名称:main.cpp*作    者:李磊涛*完成时间:2016年6月10日*版 本 号:v1.0**问题描述:在扑克牌游戏中,每次游戏开始都要求把54张牌重新排列一下,称为洗牌。试编写程序将一副扑克牌(用54个整数1~54表示)随机洗好后,顺序输出54张牌的情况。*输入描述:无。*程序输出:洗牌后的概况。*/#include<ctime>#include<vector>#include<iterator>#include<algorithm>#include<iostream>using namespace std;int main(){ostream_iterator <int> ios(cout," ");srand(time(NULL));vector<int>poker;for(int i=1;i<55;i++)poker.push_back(i);cout<<"Before Shuffle"<<endl;copy(poker.begin(),poker.end(),ios);cout<<endl;random_shuffle(poker.begin(),poker.end());cout<<endl<<"After Shuffled"<<endl;copy(poker.begin(),poker.end(),ios);cout<<endl;}


运行结果:


知识点总结:
通过该程序,强化了我对范型程序设计及STL的认识。
学习心得:
采用STL的 random_shuffle 算法很简便,但不会写还要加强练习
0 0
原创粉丝点击