第7章函数1/53
第7章 函 数 1/53
第7章知识点7.1函数概述7.2i函数定义和调用7.3嵌套调用和递归调用7.4变量与函数7.5随机数函数2/53
第7章 知 识 点 7.1 函数概述 7.2 函数定义和调用 7.3 嵌套调用和递归调用 7.4 变量与函数 7.5 随机数函数 2/53
7.5随机数函数ANSIC程序提供了函数来产生随机数--可以根据需要生成各种随机数1.基本随机数函数1intrand();//伪随机数生成函数注意:rando是一个“伪随机数发生器”void srand(unsinged int seed);//种子函数-----这两个函数的原型包含在头文件stdlib.h中。说明:调用函数randO:生成一个在0和正整数RANDMAX(32767)之间1均匀分布的伪随机整数,多次使用函数randO可以生成多个整数组成的伪随机整数序列。注意:若没种子,该伪随机数序列是固定序列值。使用种子函数srando可以改变调用randO所产生的随机数序列的固定20性,从而使伪随机数序列更“随机”一些,例如:使用随时间变化的值作为srando函数的参数
7.5 随机数函数 ANSI C 程序提供了函数来产生随机数 -可以根据需要生成各种随机数。 1.基本随机数函数 ① int rand( ); // 伪随机数生成函数 注意:rand() 是一个“伪随机数发生器” ② void srand(unsinged int seed); //种子函数 -这两个函数的原型包含在头文件stdlib.h中。 说明: 1)调用函数rand():生成一个在0和正整数RAND_MAX(32767)之间 均匀分布的伪随机整数,多次使用函数rand()可以生成多个整数组成的伪随 机整数序列。注意:若没种子,该伪随机数序列是固定序列值。 2)使用种子函数srand()可以改变调用rand()所产生的随机数序列的固定 性,从而使伪随机数序列更“随机”一些, 例如:使用随时间变化的值作为srand()函数的参数
例1:测试代码运行时间#include<stdio.h>#include<time.h>int main()double t1,t2; int i;t1=time(O);I/或time(NULL)一当前时间I将要测试的代码放在这里--计数单位为秒for(i=1;i<=1000000000;i++)i*i;t2=time(O);l/或time(NULL)一当前时间10printf("运行耗时:%.2Ifln",t2-t1);return O;?7timeNULL):从格林威治时间1970年1月1日0点0分0秒到现在的秒数4
例1:测试代码运行时间 ① #include <stdio.h> ② #include<time.h> ③ int main() ④ { double t1,t2; int i; ⑤ t1=time(0); //或time(NULL)—当前时间 ⑥ //将要测试的代码放在这里-计数单位为秒 ⑦ for (i=1;i<=1000000000;i++) ⑧ i*i; ⑨ t2=time(0); //或time(NULL)—当前时间 ⑩ printf("运行耗时:%.2lf\n", t2-t1); ⑪ return 0; ⑫ } 4 time(NULL):从格林威治时间1970年1月1日0点0分0秒到现在的秒数
例7.14:利用基本随机函数产生10个伪随机整数#include<stdio.h>#include<stdlib.h>1包含标准数据如:sra??如何随机产生#include<time.h>10以内的整数intmain()5int k;printf("%ldn",time(NULL));J小当前时间srand(time(NULL));//将系统前时间作为随机种子for(k=1;k<=10;k++)printf("%d\n",rand());I利用伪随机函数产生随机数printf("MAX=%dIn", RAND_MAX);1I/RANDMAX是系统定义的常数值32767return 0;③15
例7.14:利用基本随机函数产生10个伪随机整数 ① #include <stdio.h> ② #include <stdlib.h> //包含标准数据如:srand 、rand()、RAND_MAX ③ #include <time.h> ④ int main( ) ⑤ { int k; ⑥ printf("%ld\n", time(NULL));//显示当前时间 ⑦ srand(time(NULL)); //将系统当前时间作为随机种子 ⑧ for(k=1;k<=10;k++) ⑨ printf("%d\n", rand()); //利用伪随机函数产生随机数 ⑩ printf("MAX=%d\n", RAND_MAX); ⑪ //RAND_MAX是系统定义的常数值32767 ⑫ return 0; ⑬ } ??如何随机产生 10以内的整数 5