当前位置: 首页 > news >正文

做设计那些网站可以卖设计图网络营销员岗位的职责与要求

做设计那些网站可以卖设计图,网络营销员岗位的职责与要求,泰和县建设局网站,英文网站报价每日总结 一旦停下来太久#xff0c;就很难继续了 ——《一个人的朝圣》 20240222 1. 自定义逻辑 请设计一个函数single_track_logic,传入三个参数#xff0c;第一个参数是int数组#xff0c;第二个参数是一个int变量#xff0c;第三个参数是一个以int为返回值#xff0c…每日总结 一旦停下来太久就很难继续了 ——《一个人的朝圣》 20240222 1. 自定义逻辑 请设计一个函数single_track_logic,传入三个参数第一个参数是int数组第二个参数是一个int变量第三个参数是一个以int为返回值无输入参数的函数指针该函数实现以下功能 1.首先对第一个参数的数组进行排序 2.当第二个参数在第一个参数数组的两个数之间时返回数组下标 3.循环执行该函数时 当上一次的下标大于此次获取的下标时需要满足第三个参数的函数返回1时才能更新此次获取的数组下标否则返回上一次的数组下标 #include stdio.h #include stdlib.hint compare_up(const void *a, const void *b) {return (*(int*)a - *(int*)b); } int compare_down(const void *a, const void *b) {return (*(int*)b - *(int*)a); }typedef int (*pfunc_condition)(void); typedef enum sort_dir{enum_dir_up 0,enum_dir_down,enum_dir_none, }enum_sort_dir; /*!* brief: 单向逻辑* funcname: single_track_logic * param: arr 阶梯数组* dir 对数组进行排序的方向 从小到大 或者 从大到小 或者 不排序默认从小到大* size 阶梯数组的个数* value 要判断的值* pfunc 满足条件时可以重新更新下标* return: 值所在下标区域* note: 该函数实现以下功能* 1.首先对第一个参数的数组进行排序 * 2.当第二个参数在第一个参数数组的两个数之间时返回数组下标* 3.循环执行该函数时 当上一次的下标大于此次获取的下标时需要满足第三个参数的函数返回1时才能更新此次获取的数组下标否则返回上一次的数组下标* date: 20230830*/ int single_track_logic(int arr[], enum_sort_dir dir, int size, int value, pfunc_condition pfunc) {static int prevIndex -1; // 上一次获取的数组下标int index;// 对数组进行排序if (dir enum_dir_up){qsort(arr, size, sizeof(int), compare_up);}else if (dir enum_dir_down){qsort(arr, size, sizeof(int), compare_down);}else{printf(无需排序\n);}printf(排序结果:);for (size_t i 0; i size; i){printf(%d ,arr[i]);}for (index 0; index size; index) {if ((dir enum_dir_none) || (dir enum_dir_up)){if (arr[index] value)continue;else break;}else{if (arr[index] value)continue;else break;}}if (index prevIndex){prevIndex index;}else{if (pfunc() 1) //恢复条件成立{index index;prevIndex index;}else{index prevIndex;}}return index-1; }int custom_function(void) {// 在这里定义你的自定义函数// 返回1或者0int flag rand() % 2 ? 1 : 0;printf(flag%d\t, flag);return flag; // 这里只是个示例根据实际情况修改 }int main() {int arr[] {5, 3, 8, 1, 7, 4, 10, 0, -1};int num 0;int size sizeof(arr) / sizeof(arr[0]);int result 0;printf(从小到大:\r\n);for (size_t i 0; i 10; i){num rand() % 10;result single_track_logic(arr, enum_dir_up, size, num, custom_function);printf(num%d result%d\n,num, result);}printf(从大到小:\r\n);for (size_t i 0; i 10; i){num rand() % 10;result single_track_logic(arr, enum_dir_down, size, num, custom_function);printf(num%d result%d\n,num, result);}return 0; }测试情况 从小到大: 排序结果:-1 0 1 3 4 5 7 8 10 num3 result3 排序结果:-1 0 1 3 4 5 7 8 10 num6 result5 排序结果:-1 0 1 3 4 5 7 8 10 num7 result6 排序结果:-1 0 1 3 4 5 7 8 10 flag1 num5 result5 排序结果:-1 0 1 3 4 5 7 8 10 num5 result5 排序结果:-1 0 1 3 4 5 7 8 10 num6 result5 排序结果:-1 0 1 3 4 5 7 8 10 flag1 num2 result2 排序结果:-1 0 1 3 4 5 7 8 10 num1 result2 排序结果:-1 0 1 3 4 5 7 8 10 num2 result2 排序结果:-1 0 1 3 4 5 7 8 10 num7 result6 从大到小: 排序结果:10 8 7 5 4 3 1 0 -1 num0 result7 排序结果:10 8 7 5 4 3 1 0 -1 flag1 num9 result0 排序结果:10 8 7 5 4 3 1 0 -1 num6 result2 排序结果:10 8 7 5 4 3 1 0 -1 num0 result7 排序结果:10 8 7 5 4 3 1 0 -1 flag0 num6 result7 排序结果:10 8 7 5 4 3 1 0 -1 flag1 num6 result2 排序结果:10 8 7 5 4 3 1 0 -1 flag1 num8 result1 排序结果:10 8 7 5 4 3 1 0 -1 flag0 num9 result1 排序结果:10 8 7 5 4 3 1 0 -1 num0 result7 排序结果:10 8 7 5 4 3 1 0 -1 flag1 num2 result52. qsort qsort 是 C 语言标准库中的一个函数用于对数组进行快速排序。它的原型定义在 stdlib.h 头文件中函数签名如下 void qsort(void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *));base指向要排序的数组的起始地址的指针。nmemb数组中元素的个数。size每个元素的大小以字节为单位。compar比较函数的指针用来确定元素之间的顺序关系。这个函数接受两个参数即指向要比较的两个元素的指针返回值小于、等于或大于 0 分别表示第一个参数小于、等于或大于第二个参数。 qsort 函数使用快速排序算法对数组进行排序其时间复杂度为 O(n log n)是一种高效的排序算法。在调用 qsort 函数时需要提供数组的起始地址、元素个数、元素大小以及比较函数比较函数决定了排序的规则。 以下是一个简单的示例演示如何使用 qsort 对整数数组进行升序排序 #include stdio.h #include stdlib.hint compare(const void *a, const void *b) {return (*(int*)a - *(int*)b); }int main() {int arr[] {5, 3, 8, 1, 10};int size sizeof(arr) / sizeof(arr[0]);qsort(arr, size, sizeof(int), compare);for (int i 0; i size; i) {printf(%d , arr[i]);}return 0; }在这个示例中我们定义了一个比较函数 compare用于告诉 qsort 函数如何比较两个元素。然后调用 qsort 函数对整数数组 arr 进行排序最后输出排序后的数组结果。 3. printf输出 3.1 使用C语言模拟输出进度条 #include stdio.h #include unistd.h // 用于sleep函数void printProgressBar(int progress, int total) {int barWidth 50;float progressRatio (float)progress / total;int progressBar progressRatio * barWidth;printf([);for (int i 0; i barWidth; i) {if (i progressBar) {printf(); // 黑方格} else {printf(-); // 空白}}printf(] %d%%\r, (int)(progressRatio * 100));fflush(stdout); // 刷新输出缓冲区// 可以加上一些延迟效果usleep(100000); // 100毫秒 }int main() {int total 100;for (int i 0; i total; i) {printProgressBar(i, total);}printf(\n);return 0; }实现原理 当在控制台中使用printf函数输出信息时输出的内容通常会先被存储在缓冲区中并不会立即显示在屏幕上。这样做是为了提高效率在一次性输出大量内容时减少频繁的屏幕刷新操作。但是对于进度条等需要实时更新的情况我们希望能够立即将信息显示出来而不是等到缓冲区满或遇到换行符才刷新。 fflush(stdout);函数用于强制将缓冲区中的内容立即输出到屏幕上。在进度条的实现中每次调用printProgressBar函数后使用fflush(stdout);可以确保立即将更新后的进度条显示出来。printf(\r);中的\r是回车符Carriage Return它的作用是将光标移动到当前行的起始位置这样在输出文本时就可以覆盖之前的内容。这就是为什么在进度条更新时我们使用\r来让光标回到行首然后再输出新的进度条达到动态更新的效果。 综合使用fflush(stdout);和\r我们可以在控制台中实现动态更新的进度条效果。 printf默认在什么情况下刷新 在C语言中printf 函数通常会将输出内容缓存到内存中并不会立即刷新到输出设备如终端或文件上。刷新缓冲区意味着将缓存中的数据写入到输出设备中使得数据立即可见。 printf 函数默认情况下会在以下几种情况下刷新缓冲区 当缓冲区已满时当缓冲区达到一定大小或者输出内容包含换行符 \n 时缓冲区会被自动刷新。当遇到换行符 \n如果 printf 输出的内容中包含换行符 \n缓冲区会被刷新输出内容被立即显示。在程序正常结束时当程序执行完毕时缓冲区会被自动刷新确保所有输出内容被显示出来。 除了以上默认情况外我们也可以使用 fflush 函数手动刷新输出缓冲区。例如调用 fflush(stdout) 可以强制刷新标准输出流缓冲区。 需要注意的是如果程序异常终止比如使用 exit 函数或者发生错误导致程序崩溃则缓冲区通常不会被刷新部分输出内容可能会丢失。因此在重要的输出操作后最好及时刷新缓冲区以确保输出内容被正确显示。
http://www.pierceye.com/news/635641/

相关文章:

  • 荥阳网站建设多少钱做网站 提要求
  • 大学生个体创业的网站建设网页素材及网站架构制作
  • 网站开发前端框架和后端框架做长海报的网站
  • 柳州网站制作建一个网站怎么赚钱
  • 建网站支持设备是什么意思wordpress 默认密码
  • 找人做效果图那个网站网站开发语言 asp
  • 山东省山东省建设厅网站首页百度助手免费下载
  • 北京网站建设认百度非企推广开户
  • 厦门模板建站系统网站icp备案信息注册
  • 网站建设维护人员多语言网站开发
  • 网站开发 论文大连微信公众号开发公司
  • 珠海网站建设王道下拉惠烟台网站制作专业
  • 用php做网站要用构架吗ios开发者模式
  • 如何实现一个制作好的网站wordpress cdn
  • 成都网站商城建设深圳制作网站制作公司哪家好
  • 谁可以做网站开发公司空置房拨款合同
  • seo网站管理网站建设信(信科网络)
  • 做网站需要哪些东西网站设计报价单模板
  • 合肥家居网站建设怎么样网站建设与维护中
  • 淘宝app网站建设做网页设计可以参考哪些网站
  • 合作建设网站协议江门seo计费管理
  • 企业管理网站模板保定网站制作设计哪个公司好
  • 物流网站查询优秀设计赏析网站
  • 设计分享网站网站建设资料需要公司提交的吗
  • 广州网站站建设培训html用户登录注册页面代码
  • 网站建设怎么购买域名怎么屏蔽2345网址导航
  • 物流网站建设推广wordpress安全配置文件
  • 做网站用哪个服务器不用备案宣传网站设计
  • 网站建设哪种语言好电子商务型网站建设
  • 广州网站建设平台网站怎么做必须交钱吗