
各种函数的用法
利用
利用
发布日期:2021-05-11 00:44:22
浏览次数:25
分类:精选文章
本文共 1963 字,大约阅读时间需要 6 分钟。
计时工具
利用 <time.h>
库
在C语言中,<time.h>
库提供了获取和设置当前时间的函数。常用的计时函数包括 clock()
和 time()
。以下是使用 clock()
函数进行计时的示例代码:
#include#include using namespace std;int main() { clock_t start, end; start = clock(); // 设置开始计时 // 在这里插入你需要测量的代码 end = clock(); // 设置结束计时 float time = static_cast (end - start) / 1000; // 转换为秒 cout << "耗时为" << time << "秒" << endl; system("pause"); return 0;}
利用 <windows.h>
库
如果你需要更高精度的计时,<windows.h>
库提供了 GetTickCount()
函数,可以获取系统的计时周期。以下是使用 GetTickCount()
的示例代码:
#include#include using namespace std;int main() { unsigned long long beginTime = 0; beginTime = ::GetTickCount64(); // 获取64位计时值 // 你的代码操作 unsigned long long endTime = ::GetTickCount64(); double seconds = static_cast (endTime - beginTime) / 1000.0; int minutes = static_cast (seconds / 60); seconds -= minutes * 60; cout << "排序耗时:" << minutes << ":" << (seconds < 10 ? "0" : "") << seconds << endl; return 0;}
随机数生成
在C语言中,随机数通常通过系统时间来生成随机种子。以下是使用 <stdlib.h>
和 <time.h>
库生成随机数的示例代码:
#include#include #include using namespace std;int main() { srand(static_cast (time(nullptr))); // 设置随机种子 for (int m = 1; m <= 1000; ++m) { float i = static_cast (rand()) / 32768.0; // 生成0到1之间的随机数 cout << i << endl; } return 0;}
rand() 函数的扩展用法
除了默认范围的随机数,rand()
函数可以通过以下方式扩展:
- 生成小于
N
的随机数:rand() % N
- 生成大于
m
小于n
的随机数:rand() % (n - m) + m
- 生成小数:可以将
rand()
结果转换为小数,例如:
#include#include #include #include using namespace std;int main() { srand(static_cast (time(nullptr))); float data = static_cast (rand() % 100000) / 10000.0; cout << fixed << setprecision(4) << data << endl; return 0; }
以上代码示例可以根据实际需求进行修改,是希望生成更精确的随机数还是其他特定范围的随机数。
发表评论
最新留言
做的很好,不错不错
[***.243.131.199]2025年04月15日 19时13分51秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
wxWidgets源码分析(3) - 消息映射表
2019-03-06
wxWidgets源码分析(5) - 窗口管理
2019-03-06
wxWidgets源码分析(8) - MVC架构
2019-03-06
wxWidgets源码分析(9) - wxString
2019-03-06
[梁山好汉说IT] 梁山好汉和抢劫银行
2019-03-06
[源码解析] 消息队列 Kombu 之 基本架构
2019-03-06
[源码分析] 消息队列 Kombu 之 启动过程
2019-03-06
wx.NET CLI wrapper for wxWidgets
2019-03-06
ASP.NET MVC Action Filters
2019-03-06
Powershell中禁止执行脚本解决办法
2019-03-06
OO_Unit2 多线程电梯总结
2019-03-06
04_Mysql配置文件(重要参数)
2019-03-06
JavaSE总结
2019-03-06
手动造轮子——基于.NetCore的RPC框架DotNetCoreRpc
2019-03-06
Python IO编程
2019-03-06
CSS入门总结
2019-03-06
使用 TortoiseGit 时,报 Access denied 错误
2019-03-06