小数的4舍5入
#inlcude <stdio.h>
#include <stdlib.h>
#include <math.h>
double myround(double x)
{
double y;
if(x-floor(x)<0.5)
{
printf("%f floor is %f\n",x,floor(x));
y=floor(x);
}
else
{
printf("%f ceil is %f\n",x,ceil(x));
y=ceil(x);
}
return y;
}
随机数
#include <time>
#include <cstdlib>
int main()
{
time_t tm = time(NULL);//得到系统时间
srand((unsigned int)tm);//随机种子只需要设置一次即可
}
获取随机数,指定范围
int getRangeNumber(int a)
{
int num=rand()%a+1
return num;
}
获取指定的随机随机字符串
void getRandString(char* pRandBuf,int len)
{
srand(time(0));//随机数种子放到外面就行
int flag;
for(int i=0;i<len-1;i++)
{
flag=rand()%4;
char buf[]="`~!#$%^&*()-=_+";
switch(flag)
{
case 0:
pRandBuf[i]=rand()%10+'0';//数字
break;
case 1:
pRandBuf[i]=rand()%26+'A';//大写字母
break;
case 2:
pRandBuf[i]=rand()%26+'a';//小写字母
break;
case 3:
pRandBuf[i]=buf[rand()%strlen(buf)];//自定义的特殊字符
break;
default:
break;
}
}
}
C++有字符串类型,我们可以不用使用字符数组
重载随机字符串函数
void getRandString(std::string& RandBuf, int len)
{
srand(time(0));//随机数种子放到外面就行
int flag;
for (int i = 0; i < len ; i++)
{
flag = rand() % 4;
char buf[] = "`~!#$%^&*()-=_+";
switch (flag)
{
case 0:
RandBuf.push_back(rand() % 10 + '0');//数字
break;
case 1:
RandBuf.push_back(rand() % 26 + 'A');//大写字母
break;
case 2:
RandBuf.push_back(rand() % 26 + 'a');//小写字母
break;
case 3:
RandBuf.push_back(buf[rand() % strlen(buf)]);//自定义的特殊字符
break;
default:
break;
}
}
}