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

帮做论文网站吗辽源网站制作

帮做论文网站吗,辽源网站制作,沈阳营销型网站设计教程,海宁网站网站建设题目来自于博主算法大师的专栏#xff1a;最新华为OD机试C卷AB卷OJ#xff08;CJavaJSPy#xff09; https://blog.csdn.net/banxia_frontend/category_12225173.html 题目 给定一个 url 前缀和 url 后缀 通过,分割 需要将其连接为一个完整的 url 如果前缀结尾和后缀开头都…题目来自于博主算法大师的专栏最新华为OD机试C卷AB卷OJCJavaJSPy https://blog.csdn.net/banxia_frontend/category_12225173.html 题目 给定一个 url 前缀和 url 后缀 通过,分割 需要将其连接为一个完整的 url 如果前缀结尾和后缀开头都没有/ 需要自动补上/连接符 如果前缀结尾和后缀开头都为/ 需要自动去重 约束 不用考虑前后缀 URL 不合法情况 输入 url 前缀(一个长度小于 100 的字符串) url 后缀(一个长度小于 100 的字符串) 输出描述 拼接后的 url 示例一 输入 /acm,/bb输出 /acm/bb示例二 输入 /abc/,/bcd输出 /abc/bcd示例三 输入 /acd,bef输出 /acd/bef示例四 输入 ,输出 /思路 解题思路如下 读取输入通过 fgets 函数从标准输入读取一行该行包含 URL 前缀和后缀中间用逗号分隔。同时确保移除换行符使得字符串正确终止。 分割前后缀使用 strchr 函数找到逗号的位置并将逗号替换为终止符 \0从而将输入的字符串分割成前缀url1和后缀url2两部分。 处理特殊情况 检查前缀url1是否以 / 结尾如果是则去掉末尾的 /。检查后缀url2是否以 / 开头如果是则去掉开头的 /。这里使用了 memmove 函数因为它可以安全地在重叠内存区域中移动数据。 拼接 URL根据题目要求在前缀和后缀之间加上一个 / 符号组成完整的 URL。 输出结果最后将处理后的完整 URL 输出到标准输出。 代码 #include stdio.h #include stdlib.h #include string.hint main() {// 定义存储 URL 前缀和后缀的字符数组char url1[100], url2[100];// 定义输入缓冲区假设两个URL和逗号总共不超过200个字符char input[201]; // 从标准输入读取一行包含前缀和后缀中间由逗号分隔fgets(input, 201, stdin); // 移除换行符确保字符串正确终止input[strcspn(input, \n)] \0;// 获取输入字符串长度int len strlen(input);// 查找并分割字符串在逗号处断开为前缀和后缀char *comma_pos strchr(input, ,);if (comma_pos ! NULL) {// 将逗号替换为终止符以分离前后缀*comma_pos \0; // 分别将前缀和后缀复制到各自的字符数组中strcpy(url1, input);strcpy(url2, comma_pos 1);}// 计算前缀和后缀的长度int len1 strlen(url1);int len2 strlen(url2);// 处理特殊情况如果前缀以 / 结尾则移除该 /if (len1 0 url1[len1 - 1] /) {url1[--len1] \0; // 将末尾的 / 替换为终止符}// 处理特殊情况如果后缀以 / 开头则将 / 向右移动一位if (len2 0 url2[0] /) {memmove(url2, url2 1, len2--); // 移除开头的 / 并调整字符串内容}// 拼接完整的 URL并打印输出printf(%s/%s\n, url1, url2);return 0; }注意 1、memmove memmove 是 C 语言标准库中的一个函数其主要作用是移动内存中的一段数据。这个函数可以安全地复制内存区域即使源内存区source和目标内存区destination有重叠部分也能正确处理。 函数原型通常定义如下 void* memmove(void* dest, const void* src, size_t n);dest指向目标内存区域的指针。src指向源内存区域的指针。n要移动的字节数。 当两个内存区域有重叠时如果直接使用 memcpy 函数可能会导致未复制或错误复制的数据因为 memcpy 不会考虑重叠情况它只是简单地从源到目标逐字节复制。而 memmove 则更加智能它在执行复制操作时会确保即便目标区域覆盖了源区域的部分内容也会先将这部分内容保存下来然后再复制过去从而保证了所有数据的完整性和正确性。 举例来说假设你有一个数组并想将其部分内容向左移动几个位置此时目标和源区域就会重叠这时就需要使用 memmove 而不是 memcpy。 以下是一个简单的用法示例 char str[] Hello, World!; memmove(str 7, str, 6); // 移动前六个字符到七个字符的位置 str[13] \0; // 添加终止符确保字符串结束 // 此时 str 的内容变为 World!Hello在这个例子中memmove 确保了即使目标区域str7与源区域str有重叠“Hello” 这部分内容仍能正确地被移动并覆盖到原来 “World!” 后面。
http://www.pierceye.com/news/335937/

相关文章:

  • 做信息分类网站难吗广告设计公司有哪些
  • 做seo网站优化多少钱网站开发客户哪里找
  • 做网站一定要云解析吗海南公司注册网站
  • 建站之家官网办公装修设计
  • 永康网站建设的公司wordpress 图片分类
  • 网站商务通弹出窗口图片更换设置wordpress4.9 多站点
  • 如何仿制一个网站注册商标设计
  • 网站建设属于什么岗位旅游网站设计模板
  • 自己做的网站怎么链接火车头采集软件开发模型是什么
  • 新网站怎么做才会被收录正品海外购网站有哪些
  • 广东手机网站建设品牌js制作网页计算器
  • 化隆网站建设公司学做网站多久
  • 网站域名如何查询上海室内设计公司哪家好
  • 电子书推送网站怎么做新做的网站如何
  • 网站建设图片怎么加水印电商平台网站建设功能介绍
  • 一个门户网站怎么做金坛网站建设哪家好
  • 大学网站建设图江苏廉政建设网站
  • 班级网站建设方案网页美工的设计要点
  • 微网站搭建流程做网站的广告语
  • 那个网站做外贸canvas做的网站
  • 学做视频的网站wordpress上传大附件
  • 怎么做网站卖产品黄埭网站建设
  • 娱乐网站 建站软件学校网站建设栏目
  • 做调研有哪些网站网站建设策划书
  • 旺道网站排名优化建设网站需要做的工作
  • 设计公司网站 唐山本地备份wordpress
  • 淘宝客网站建设多少钱app网站开发案例
  • vs2008不能新建网站个性手绘个人网站模板下载
  • 西安好的网站建设公司西安高端网站制作公司哪家好
  • 网站分享按钮网站运营建站优化专家