1、常用系统函数:数学、随机数、时间、系统
(1) 数学函数#include<math.h>。 double log(double x) 返回logex的值 double log10(double x) 返回log10x的值 double pow(double x,double y) 返回xy的值 double pow10(int p) 返回10p的值 double sqrt(double x) 返回x的正平方根值 double acos(double x) 返回x的反余弦cos-1(x)值,x为弧度 double asin(double x) 返回x的反正弦sin-1(x)值,x为弧度 double atan(double x) 返回x的反正切tan-1(x)值,x为弧度 double atan2(double y,double x) 返回y/x的反正切tan-1(x)值,y的x为弧度 double cos(double x) 返回x的余弦cos(x)值,x为弧度 double sin(double x) 返回x的正弦sin(x)值,x为弧度 double tan(double x) 返回x的正切tan(x)值,x为弧度 double cosh(double x) 返回x的双曲余弦cosh(x)值,x为弧度 double sinh(double x) 返回x的双曲正弦sinh(x)值,x为弧度 double tanh(double x) 返回x的双曲正切tanh(x)值,x为弧度 double hypot(double x,double y) 返回直角三角形斜边的长度(z),x和y为直角边的长度,z2=x2+y2 double ceil(double x) 返回不小于x的最小整数 double floor(double x) 返回不大于x的最大整数
void srand(unsigned seed) 初始化随机数发生器 int rand() 产生一个随机数并返回这个数
函数二:void srand(unsigned seed);
参数seed是rand()的随机种子,即用来初始化rand()的起始值。#include <iostream> #include<ctime> using namespace std; int main(void) { int i,ran_num; srand(time(0)); //time(0)返回自格林威治时间1970年1月1日凌晨至现在所经过的秒数用种子 for(i=0;i<10;i++) { ran_num=rand()%6; //rand()返回0到RAND_MAX的整型,对6取余保证了随机数为0~5。 cout<<ran_num<<" "; } return 0; }
struct tm { int tm_sec; /*秒,0-59*/ int tm_min; /*分,0-59*/ int tm_hour; /*时,0-23*/ int tm_mday; /*天数,1-31*/ int tm_mon; /*月数,0-11*/ int tm_year; /*自1900的年数*/ int tm_wday; /*自星期日的天数0-6*/ int tm_yday; /*自1月1日起的天数,0-365*/ int tm_isdst; /*是否采用夏时制,采用为正数*/ }
struct date { int da_year; /*自1900的年数*/ char da_day; /*天数*/ char da_mon; /*月数 1=Jan*/ }
struct time { unsigned char ti_min; /*分钟*/ unsigned char ti_hour; /*小时*/ unsigned char ti_hund; unsigned char ti_sec; /*秒*/ }
char *ctime(long *clock) 把clock所指的时间(如由函数time返回的时间)转换成形如“Mon Nov 21 11:31:54 1983\n\0”的字符串: double difftime(time_t time2,time_t time1) 计算结构time2和time1之间的时间差距(以秒为单位) struct tm *gmtime(long *clock) 把clock所指的时间(如由函数time返回的时间)转换成格林威治时间,并以tm结构形式返回 struct tm *localtime(long *clock) 把clock所指的时间(如函数time返回的时间)转换成当地标准时间,并以tm结构形式返回 void gettime(struct time *timep) 将计算机内的时间写入结构timep中,以供用户使用 void settime(struct time *timep)本函数将计算机内的时间改为由结构timep所指的时间 long time(long *tloc) 给出自格林威治时间1970年1月1日凌晨至现在所经过的秒数,并将该值存于tloc所指的单元中.
#include <iostream> #include<ctime> using namespace std; int main(void) { int i,ran_num=0; double t1,t2; t1=time(0); //将要测试的代码放在这里,因为计数单位为秒,简单的代码输出都为0秒。 t2=time(0); cout<<"运行耗时"<<t2-t1<<"秒!"<<endl; return 0; }
void exit( int exit_code );
功能:终止程序的执行。参数exit_code 传递给返回值,通常零值表示正常结束,非零值表示应错误返回。
int system( const char *command );功能:函数返回给定的命令字符串command进行系统调用。如果命令执行正确通常返回零值。如果command 为 NULL, system()将尝试是否有可用的命令解释器。如果有返回非零值,否则返回零值。
system("cls"); //清屏,等于在DOS上使用cls命令
CLS 清除屏幕。 DATE 显示或设置日期。 PAUSE 暂停批文件的处理并显示消息。 TIME 显示或设置系统时间。 VER 显示 Windows 版本。
【项目1-猜数字游戏】
随机产生一个1000内的数字,要求用户猜测这个整数。输入一个猜测想的整数,判断是否与产生的随机数相等,由屏幕显示判断结果。如果猜得不对,给出“大了”或“小了”的提示,直到猜出这个数为止。(可以再加一个要求,猜中后输出猜了几次。)
【项目2-辅助学习软件开发】
(1)针对小学生学数学,例如对一年级,由计算机自动出一道10以内加减法题目(运算量和运算符都由程序自动产生随机数),小学生输入答案后,提示“做对了”或“还需要努力”(是否“嘀”地响一声刺激一下不努力的学生,由你定,注意不要把孩子吓出毛病来)。;【项目3-抽签】
贺老师教3班和4班两个班的C++程序设计课,3班同学的学号为1~28,4班同学的学号为29-56,现在每个班要抽签确定3名同学去参加学校组织的水平测试,请编程完成这个“抽签”的工作。