C语言数组运用,c++语言数组

  C语言数组运用,c++语言数组

  本文通过一个例子介绍了使用数组的一些基本模式。问题是这样的:第一个老师把0-9的随机数保存在一个数组里,然后统计每个数字出现的次数并打印出来,检查这些数字的随机性。随机数在某些情况下非常有用(比如游戏程序),但是用计算机生成完全随机数就没那么容易了。计算机执行的每一条指令的结果都是确定的,没有一条指令产生随机数。调用C标准库得到的随机数其实就是伪随机数,是用数学公式计算出来的某个数。然而,这些数字看起来是随机的,并且在统计上接近均匀分布随机数。

  rand函数用于在C标准库中生成伪随机数。要使用这个函数,需要包含头文件stdlib.h。它没有参数,返回值是一个介于0和RAND_MAX之间的整数,接近均匀分布。RAND_MAX是头文件中定义的常数。它在不同的平台上有不同的值,但肯定是一个非常大的整数。我们通常使用的随机数是限定在一定范围内的,比如0~9,而不是0~RAND_MAX。我们可以使用%运算符来处理rand函数的返回值:

  int x=rand()% 10;

  以随机数为例,为了方便分析和调试,我们取较小的数组长度,只生成20个随机数:

  # include stdio . h # include stdlib . h # define N20 int a[N];void gen _ random(int upper _ bound){ inti;for(I=0;I I)a[I]=rand()% upper _ bound;} void print _ random(){ inti;for(I=0;i i ) printf(%d ,a[I]);printf( \ n );} int main(void){ gen _ random(10);print _ random();系统(“暂停”);return0}

  运行结果:

  上面的输出看起来非常随机。但是随机性呢?分布均匀吗?按均匀分布,每个数的概率应该是一样的。在上述20个结果中,6出现了5次,而4和8一次都没有出现。但这不代表什么。毕竟我们的样本太少了,只有20个。如果样本足够大,比如100,000个,统计它们每个出现的次数可能就有意义了。但你不可能把10万个数字都打印出来,然后一个一个数吧?我们需要写一个函数来计算每个数字出现的次数。完整的过程如下:

  # include stdio . h # include stdlib . h # define N 100000 int a[N];void gen _ random(int upper _ bound){ inti;for(I=0;I I)a[I]=rand()% upper _ bound;} int how many(int value){ int count=0,I;for(I=0;i i ) if(a[i]==value)计数;returncount} int main(void){ inti;gen _ random(10);printf( value \ thow number \ n );for(I=0;i i ) { printf(%d\t%d\n ,I,how many(I));}系统(暂停);return0}

  运行结果:

  可以看到,0到9的数字出现了一万次左右,说明是比较统一的。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • c语言调用退出函数 c语言退出整个程序怎么写
  • c语言中怎么给函数初始化 c语言的初始化语句
  • c语言编写函数计算平均值 c语言求平均函数
  • 详解c语言中的字符串数组是什么,详解c语言中的字符串数组结构,详解C语言中的字符串数组
  • 表达式求值c++实现,c语言实现表达式求值
  • 看懂c语言基本语法,C语言详解,C语言的基本语法详解
  • 用c语言实现快速排序算法,排序算法设计与实现快速排序C语言,C语言实现快速排序算法实例
  • 深入解析c语言中函数指针的定义与使用方法,深入解析c语言中函数指针的定义与使用情况,深入解析C语言中函数指针的定义与使用
  • 描述E-R图,E-R图举例,关于C语言中E-R图的详解
  • 折半查找法C语言,折半查找算法(算法设计题)
  • 折半查找法C语言,c语言折半法查找数据,C语言实现折半查找法(二分法)
  • 扫雷小游戏c++代码设计,c语言扫雷游戏源代码,C语言实现扫雷小游戏详细代码
  • 怎样统计程序代码行数,C语言统计行数,C#程序员统计自己的代码行数
  • 基于c语言的贪吃蛇游戏程序设计,用c语言编写贪吃蛇游戏程序,C语言实现简单的贪吃蛇游戏
  • 图的两种遍历算法,图的遍历算法代码c语言,Python算法之图的遍历
  • 留言与评论(共有 条评论)
       
    验证码: