`
_jia_shun
  • 浏览: 27208 次
  • 性别: Icon_minigender_1
  • 来自: 安徽
社区版块
存档分类
最新评论

C++大学基础教程_6_7随机数的生成

 
阅读更多
#include <iostream>//C++标准输入输出函数
#include <cstdlib>//随机数等工具函数
#include <iomanip>//包含格式化数据流的流数据元
using namespace std;

int main()
{
	for(int counter=1;counter<=100;counter++)
	{
		cout << setw(5) << (1+rand()%6) ;
		if(counter%5 == 0)
			cout << endl;
	}

	system("pause >> cout");
	return 0;
}

//利用rand()获取随机数,而rand()%6再加1从而获取从1到6的随机数
//so nice 

 

//投掷六面骰子6000000次

#include <iostream>
#include <cstdlib>
#include <iomanip>
using namespace std;

int main()
{
	//记录1-6出现的频率,也就是在6000000次的掷骰子过程中出现的次数
	int frequency1 = 0;
	int frequency2 = 0;
	int frequency3 = 0;
	int frequency4 = 0;
	int frequency5 = 0;
	int frequency6 = 0;

	int face ;//掷骰子过程中每一次骰子的点数
	for(int counter=1;counter<=6000000;counter++)
	{
		face = 1 + rand()%6 ;//产生随机数
		switch(face)
		{
		case 1:
			frequency1 = frequency1 + 1;
			break;                                     //break不能忘啊,忘了就呵呵呵呵了,不信试试咯
		case 2:
			frequency2 = frequency2 + 1;
			break;
		case 3:
			frequency3 = frequency3 + 1;
            break;
		case 4:
			frequency4 = frequency4 + 1;
			break;
		case 5:
			frequency5 = frequency5 + 1;
			break;
		case 6:
			frequency6 = frequency6 + 1;
			break;
		default:
			cout << "Program should never get here !" << endl;
		}
	}

	cout << " Face" << setw(10) << "Frequency" << endl;
	cout << "    1"  << setw(10) << frequency1 << "\n"  
		   << "    2"  << setw(10) << frequency2 << "\n"
		   << "    3"  << setw(10) << frequency3 << "\n"  
		   << "    4"  << setw(10) << frequency4 << "\n"
		   << "    5"  << setw(10) << frequency5 << "\n"  
		   << "    6"  << setw(10) << frequency6 << "\n"
		   << endl;

	system("pause >> cout ");
	return 0;
}

 //产生的随机数是重复的,该如何解决?

//调用<cstdlib>中的srand()函数,改变rand()函数的种子,(大概就是起点吧)

 

//为了保证产生的随机数不是全部一样的(运行多次程序)
//利用srand()函数确定每次产生随机数的起点,种子???
#include <iostream>
//using std::cin;
//using std::cout;
//using std::endl;

#include <iomanip>
//using std::setw;

#include <cstdlib>
//using std::rand;
//using std::srand;

using namespace std;

int main()
{
	unsigned seed ;
	cout << "enter seed :" ;
	cin >> seed ;
	srand(seed);
	for(int counter=1;counter<=10;counter++)
	{
		cout << setw(5) << (1 + rand()%6) ;
		if(counter%5 == 0)
			cout << endl;

	}

	system("pause >> cout ");
	return 0;
}

//但是输入相同的seed值,结果仍然是相同的啊!!!

 

分享到:
评论

相关推荐

    生成随机数.7z

    在这个名为“生成随机数.7z”的压缩包中,可能包含了一个或多个文件,它们可能是源代码、教程文档或者程序,用于演示如何在不同编程语言中生成随机数。 首先,我们要理解随机数的基本概念。在计算机中,由于硬件和...

    TanChiShe.zip_C++ tanchishe_c++tanchishe_tanchishe_tanchishe c++

    可以使用随机数生成器(如`&lt;cstdlib&gt;`库中的`rand()`函数)来生成随机坐标。 最后,为了使游戏更具挑战性,我们可以添加一些额外的功能,如分数系统、多个难度级别或特殊道具。这些功能的实现将涉及到更多的数据...

    C++大学教程(第七版)第6章习题答案

    在"C++大学教程(第七版)第6章"中,我们主要探讨了两个重要的知识点:函数的使用和数值的舍入处理。以下是这两个主题的详细讲解。 首先,函数是C++编程中的核心概念之一,它允许我们将代码组织成可重用的模块,...

    vc++编程产生的白噪声

    总的来说,使用VC++生成白噪声涉及了C++编程、随机数生成、音频处理以及Windows API的使用。这样的程序可以用于测试音频设备的性能,或者在某些情况下,如噪声消除算法的开发中,作为输入信号。通过深入学习这些知识...

    b_parentt4s_C++_zip_

    7. **随机数生成**:在训练神经网络中,随机初始化权重和噪声注入需要用到随机数生成。 8. **C++与第三方库集成**:如OpenCV用于图像处理,TensorFlow或PyTorch的C++ API用于深度学习模型的构建和部署。 9. **文件...

    C语言相关随机数共2页.pdf.zip

    本资料“C语言相关随机数共2页.pdf.zip”似乎是一个关于C语言生成随机数的简短教程,虽然具体内容无法在此直接提供,但我们可以深入探讨C语言中的随机数生成。 首先,C语言通过`&lt;stdlib.h&gt;`或`&lt;stdio.h&gt;`库中的`...

    sao-lei.zip_C++编程 扫雷_saolei.org.cn_saoleic++_visual c_扫雷C++编写

    6. **算法设计**:为了高效地生成雷区布局,可能需要设计随机数生成算法。同时,计算周围格子雷数的算法也很关键,需要考虑边界条件和效率。 7. **游戏状态管理**:游戏有多个状态(如开始、进行中、胜利、失败),...

    14个c++实战项目1

    4. **随机数生成**:学习C++中的随机数生成库,如`&lt;random&gt;`,以及如何创建各种概率分布。 5. **概率编程**:理解概率模型,并将其应用于实际问题。 6. **数据结构优化**:探讨如何设计高效的数据结构以适应特定场景...

    C++基础小程序集锦

    在本资源包“C++基础小程序集锦”中,包含了多个C++编程的实例,...每个程序都是一个独立的学习单元,它们共同构建了一个全面的C++基础教程。实践这些代码,不仅能提升编程技能,还能为更高级的C++概念打下坚实基础。

    C++初学者教程 C++编程-菜鸟入门(清晰版)

    C++编程基础教程 本教程旨在帮助初学者快速掌握C++编程语言的基础知识,包括变量、数据类型、运算符、控制结构、函数、数组、指针等基本概念,以及输入输出语句、cmath库函数、字符串操作等实际应用。 一、变量和...

    Program06_冒泡排序_C++_

    5. **高斯随机数生成**:在C++中,可以使用`&lt;random&gt;`库来生成高斯分布的随机数。首先创建一个随机数引擎,然后设置适当的分布,例如`normal_distribution`,最后使用引擎生成随机数。 6. **解方程**:C++不直接...

    深度学习 Numpy 基础.zip_carepne_numpy_python NumPy_python 教程_python深度学

    1. **随机数生成**: `numpy.random`模块提供了各种随机数生成功能,如均匀分布`numpy.random.rand()`, 正态分布`numpy.random.randn()`, 均匀整数`numpy.random.randint()`等。 2. **随机种子**: `numpy.random.seed...

    C语言编程中生成随机数的入门教程

    在C语言编程中,生成随机数是一项基础而重要的技能,特别是在模拟、游戏开发、统计计算等领域。本文将详细讲解如何使用C语言中的`...在实际编程中,还可以结合其他库,如C++11的库,来获取更高级别的随机数生成功能。

    C++标准程序库自修参考手册

    总的来说,《C++标准程序库自修参考手册》是一本全面而深入的教程,适合有一定C++基础的开发者进一步提升自己的编程能力。通过阅读和实践,读者不仅能掌握标准库的用法,还能了解到C++设计模式和最佳实践,从而写出...

    tcs_C-C++_贪吃蛇_

    可以使用随机数生成函数`rand()`配合`srand()`来实现。 6. **屏幕绘制**:使用`printf()`或其他图形库(如`conio.h`或`ncurses`)在终端上画出游戏画面。每个位置可以用不同字符表示,比如空格表示空白,蛇用"+",...

    C/C++数据结构_随机10000个数:排序~8大排序代码集.rar

    通过这个压缩包中的源代码,学习者可以对比不同算法的实现,理解它们的工作原理,并通过调整MAX值生成不同规模的随机数进行性能测试,加深对排序算法的理解。 此外,使用C/C++进行编程,不仅锻炼了算法思维,还能...

    适合初学者的贪吃游戏C++源码教程

    3. 随机食物生成:使用随机数生成器确定食物的位置,确保其不与蛇的位置相同。 五、调试与优化 在编写代码过程中,学会使用调试工具(如VS2010的调试器)来查找并修复错误。此外,可以优化游戏性能,例如减少不必要...

    C++标准程序库自学参考手册

    10. **数值和随机数(Numerics and Random Numbers)**:包含各种数学函数,如三角函数、指数和对数,以及随机数生成器。 在学习这本自修教程时,建议从基础概念开始,逐步深入到高级主题。首先理解I/O流和基本数据...

    MATLAB基础教程(第五版).rar

    9. **数值分析**:涉及插值、拟合、积分、微分、线性代数、随机数生成等数值计算方法。 10. **符号计算**:介绍MATLAB的符号运算工具箱,用于处理精确数学表达式,进行符号求解、简化、展开等操作。 11. **数据...

    Visual_C++经典游戏程序设计

    《Visual C++经典游戏程序设计》是一本深入探讨C++在游戏开发领域的实践教程,它涵盖了扫雷、贪吃蛇、推箱子、俄罗斯方块和连连看等经典游戏的源码实现。这些游戏不仅是休闲娱乐的代表,更是学习游戏编程的基础和...

Global site tag (gtag.js) - Google Analytics