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

设计模板网站都有哪些在线工具网站

设计模板网站都有哪些,在线工具网站,刘家窑做网站的公司,网页设计作业成品div+css文章目录 一、题目🎃题目描述🎃输入输出🎃样例1 二、思路参考三、代码参考🏆C语言 作者:KJ.JK 🍂个人博客首页: KJ.JK 🍂专栏介绍: 华为OD机试真题汇总,定期…

文章目录

    • 一、题目
      • 🎃题目描述
      • 🎃输入输出
      • 🎃样例1
    • 二、思路参考
    • 三、代码参考
      • 🏆C语言
  • 作者:KJ.JK


🍂个人博客首页: KJ.JK
 
🍂专栏介绍: 华为OD机试真题汇总,定期更新华为OD各个时间阶段的机试真题,每日定时更新,本专栏将使用C语言进行更新解答,包含真题,思路分析,代码参考,欢迎大家订阅学习


一、题目


🎃题目描述

TLV编码是按[Tag Length Value]格式进行编码的,一段码流中的信元用Tag标识,Tag在码流中唯一不重复,Length表示信元Value的长度,Value表示信元的值。
 
码流以某信元的Tag开头,Tag固定占一个字节,Length固定占两个字节,字节序为小端序。
 
现给定TLV格式编码的码流,以及需要解码的信元Tag,请输出该信元的Value。
 
输入码流的16机制字符中,不包括小写字母,且要求输出的16进制字符串中也不要包含小写字母;码流字符串的最大长度不超过50000个字节。


🎃输入输出

输入
输入的第一行为一个字符串,表示待解码信元的Tag;
输入的第二行为一个字符串,表示待解码的16进制码流,字节之间用空格分隔。
 
输出
输出一个字符串,表示待解码信元以16进制表示的Value。


🎃样例1

输入
31
32 01 00 AE 90 02 00 01 02 30 03 00 AB 32 31 31 02 00 32 33 33 01 00 CC输出
32 33说明需要解析的信元的Tag31,从码流的起始处开始匹配,Tag32的信元长度为101 00,小端序表示为1);第二个信元的Tag90,其长度为2;第三个信元的Tag30,其长度为3;第四个信元的Tag31,其长度为202 00),所以返回长度后面的两个字节即可,即32 33

二、思路参考

  1. 读取输入的待解码信元的Tag和码流字符串
  2. 将码流字符串按空格分割为字节的字符串数组,每个字节对应一个十六进制数
  3. 遍历字节数组,逐个读取字节并根据小端序合并得到Length的值
  4. Length占用两个字节,根据小端序意味着第一个字节是低位字节,第二个字节是高位字节
  5. 继续遍历字节数组,当找到与输入的Tag相匹配的字节时,提取后续的Length个字节作为Value。注意,Value的每个字节对应一个十六进制数。将提取的Value转换为对应的整数值,即将每个十六进制数转换为其对应的整数
  6. 输出转换后的整数值,作为解码后的Value。

三、代码参考


🏆C语言

#include <stdio.h>
#include <stdlib.h>
#include <string.h>// 函数:将一个字节的十六进制字符串转换为对应的整数值
int hexToInt(char* hex) {int value;sscanf(hex, "%x", &value);return value;
}int main() {char tag[3];  // 信元的Tagchar byteStream[50001];  // 码流字符串char* byteTokens[50000];  // 字节的字符串数组int byteCount = 0;  // 字节的个数char value[50000];  // 解码后的Valueint length;  // 信元Value的长度// 读取输入的Tag和码流字符串scanf("%s\n", tag);fgets(byteStream, sizeof(byteStream), stdin);// 将码流字符串按空格分割为字节的字符串数组byteTokens[byteCount++] = strtok(byteStream, " ");while (byteTokens[byteCount-1] != NULL) {byteTokens[byteCount++] = strtok(NULL, " ");}// 解析码流,找到对应的Tag并提取Valueint i = 0;while (i < byteCount) {// 根据小端序合并字节得到Length的值length = hexToInt(byteTokens[i+2]) * 256 + hexToInt(byteTokens[i+1]);// 找到对应的Tagif (hexToInt(byteTokens[i]) == hexToInt(tag)) {// 提取后续的Length个字节作为Valuefor (int j = 0; j < length; j++) {value[j] = hexToInt(byteTokens[i+3+j]);}break;}i += (length + 3);}// 输出解码后的值for (int k = 0; k < length; k++) {printf("%02X ", value[k]);}printf("\n");return 0;
}

作者:KJ.JK

http://www.ds6.com.cn/news/60429.html

相关文章:

  • 快速排名优化系统seo顾问咨询
  • WordPress博客自动更新文章宁波网站推广优化公司怎么样
  • 北京上海网站建设公司搜索引擎营销成功案例
  • 柳州正规网站制作公司搜索 引擎优化
  • 北京网站建设类岗位软文范文
  • 编程 毕业设计代做网站东莞网站建设工作
  • 网站项目建设流程图电商培训课程
  • 免费购物网站制作如何进行网络推广营销
  • 国内网站建设代理seo是搜索引擎优化吗
  • 网站开发技术 文库杭州百度推广开户
  • 合肥品牌网站建设广告策划方案范文
  • 做网站的费用怎么录分录网络营销推广方式案例
  • 做日本贸易哪个网站好百度推广投诉电话客服24小时
  • 包装材料东莞网站建设旅游seo整站优化
  • 国外超酷设计网站网络营销pdf
  • 昆明做网站做的好的公司公司网站开发费用
  • 类似千图网的素材网站推广平台收费标准
  • wordpress添加签名郑州seo优化顾问阿亮
  • 中企动力做的网站好吗专业网站制作
  • 做旅游业务的商业网站宁德市市长
  • 宁国新站seo最近几天发生的新闻大事
  • 温州做网站公司哪家好新东方考研培训机构官网
  • wordpress弹窗登入重庆seo招聘
  • 进行网站建设视频cps游戏推广平台
  • wordpress刷新seo网站设计工具
  • 企业网站优化的弊端深圳疫情最新消息
  • 做品牌网站的商业软文怎么写
  • 从零学建设网站广州最新消息今天
  • 建站公司网站运营培训
  • 网站开发专业就业前景网络营销的主要内容有哪些