热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

C语言指针与字符串练习题库,高难度C语言指针及字符串习题集锦.docx

本题库精选了高难度的C语言指针与字符串练习题,涵盖了复杂的指针操作和字符串处理技巧。特别包括了基于NMEA-0183协议的GPS数据处理题目,旨在帮助读者深入理解和掌握C语言在实际应用中的高级用法。

C语言习题指针与字符串较难.docx

GPS 数据处理 题目内容题目内容 NMEA-0183 协议是为了在不同的 GPS(全球定位系统)导航设备中建立统一的 BTCM(海事无线电技术 委员会)标准,由美国国家海洋电子协会(NMEA-The National Marine Electronics Associa-tion)制定的 一套通讯协议。GPS 接收机根据 NMEA-0183 协议的标准规范,将位置、速度等信息通过串口传送到 PC 机、PDA 等设备。 NMEA-0183 协议是 GPS 接收机应当遵守的标准协议,也是目前 GPS 接收机上使用最广泛的协议,大多 数常见的 GPS 接收机、GPS 数据处理软件、导航软件都遵守或者至少兼容这个协议。 NMEA-0183 协议定义的语句非常多,但是常用的或者说兼容性最广的语句只有GPGGA、GPGSA、 GPGSV、GPRMC、GPVTG、GPGLL 等。 其中GPRMC 语句的格式如下 GPRMC,024813.640,A,3158.4608,N,11848.3737,E,10.05,324.27,150706,A*50 这里整条语句是一个文本行,行中以逗号“,”隔开各个字段,每个字段的大小(长度)不一,这里的示例只 是一种可能,并不能认为字段的大小就如上述例句一样。 字段 0 GPRMC, 语句 ID, 表明该语句为 Recommended Minimum Specific GPS/TRANSIT Data (RMC) 推荐最小定位信息 字段 1UTC 时间,hhmmss.sss 格式 字段 2状态,A定位,V未定位 字段 3纬度 ddmm.mmmm,度分格式(前导位数不足则补 0) 字段 4纬度 N(北纬)或 S(南纬) 字段 5经度 dddmm.mmmm,度分格式(前导位数不足则补 0) 字段 6经度 E(东经)或 W(西经) 字段 7速度,节,Knots 字段 8方位角,度 字段 9UTC 日期,DDMMYY 格式 字段 10磁偏角,(000 - 180)度(前导位数不足则补 0) 字段 11磁偏角方向,E东 W西 字段 16校验值 这里,“*”为校验和识别符,其后面的两位数为校验和,代表了“”和“*”之间所有字符(不包括这两个字符) 的异或值的十六进制值。上面这条例句的校验和是十六进制的 50,也就是十进制的 80。 提示运算符的作用是异或。将和*之间所有的字符做运算第一个字符和第二个字符异或,结果再和第 三个字符异或,依此类推之后的值对 65536 取余后的结果,应该和*后面的两个十六进制数字的值相等, 否则的话说明这条语句在传输中发生了错误。注意这个十六进制值中是会出现 A-F 的大写字母的。 现在,你的程序要读入一系列 GPS 输出,其中包含GPRMC,也包含其他语句。在数据的最后,有一行 单独的 END 表示数据的结束。 你的程序要从中找出GPRMC 语句,计算校验和,找出其中校验正确,并且字段 2 表示已定位的语句,从 中计算出时间,换算成北京时间。一次数据中会包含多条GPRMC 语句,以最后一条语句得到的北京时间 作为结果输出。 你的程序一定会读到一条有效的GPRMC 语句。 输入格式输入格式 多条 GPS 语句,每条均以回车换行结束。最后一行是 END 三个大写字母。 输出格式输出格式 6 位数时间,表达为 hhmmss 其中,hh 是两位数的小时,不足两位时前面补 0;mm 是两位数的分钟,不足两位时前面补 0;ss 是两位 数的秒,不足两位时前面补 0。 输入样例输入样例 GPRMC,024813.640,A,3158.4608,N,11848.3737,E,10.05,324.27,150706,A*50 END 输出样例输出样例 104813 时间限制时间限制500ms 内存限制内存限制32000kb 答案 include include include char *searchStrchar *p 搜索关键字,并返回指针,没找到返回 0 char s“GPRMC“; char *spstrstrp,s; ifsp return sp; return 0; char *getNextPStrchar *p 得到下一个题目要求的字符串,返回指针 char * sp searchStrp; char * pstr p; while1 pstrpstrstrlenpstr1; spsearchStrp; ifspp return sp; return 0; int xtoiint num 16 进制转 10 进制 int a,b,out0; ifnum24 h - 24; outTimeh; printf““; outTimem; printf““; outTimes; return 0;



推荐阅读
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 本文详细介绍了C语言中链表的两种动态创建方法——头插法和尾插法,包括具体的实现代码和运行示例。通过这些内容,读者可以更好地理解和掌握链表的基本操作。 ... [详细]
  • 本文详细介绍了C语言的起源、发展及其标准化过程,涵盖了从早期的BCPL和B语言到现代C语言的演变,并探讨了其在操作系统和跨平台编程中的重要地位。 ... [详细]
  • 本文详细介绍了C语言中的基本数据类型,包括整型、浮点型、字符型及其各自的子类型,并探讨了这些类型在不同编译环境下的表现。 ... [详细]
  • 现代软件工程开发体验:结对编程
    距现代软件工程开课已经3周,按照课程安排,在最近的9天中,我们进行了极限编程模式的体验:pairwork(结对编程,具体见链接),对象是在academicsearchmap上添加一些新特性。经过选 ... [详细]
  • 本文详细探讨了KMP算法中next数组的构建及其应用,重点分析了未改良和改良后的next数组在字符串匹配中的作用。通过具体实例和代码实现,帮助读者更好地理解KMP算法的核心原理。 ... [详细]
  • 本文介绍如何使用Objective-C结合dispatch库进行并发编程,以提高素数计数任务的效率。通过对比纯C代码与引入并发机制后的代码,展示dispatch库的强大功能。 ... [详细]
  • 技术分享:从动态网站提取站点密钥的解决方案
    本文探讨了如何从动态网站中提取站点密钥,特别是针对验证码(reCAPTCHA)的处理方法。通过结合Selenium和requests库,提供了详细的代码示例和优化建议。 ... [详细]
  • CentOS7源码编译安装MySQL5.6
    2019独角兽企业重金招聘Python工程师标准一、先在cmake官网下个最新的cmake源码包cmake官网:https:www.cmake.org如此时最新 ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 前言--页数多了以后需要指定到某一页(只做了功能,样式没有细调)html ... [详细]
  • 本文将介绍由密歇根大学Charles Severance教授主讲的顶级Python入门系列课程,该课程广受好评,被誉为Python学习的最佳选择。通过生动有趣的教学方式,帮助初学者轻松掌握编程基础。 ... [详细]
  • 本文介绍了一种基于选择排序思想的高效排序方法——堆排序。通过使用堆数据结构,堆排序能够在每次查找最大元素时显著提高效率。文章详细描述了堆排序的工作原理,并提供了完整的C语言代码实现。 ... [详细]
  • 本文详细介绍了Java中实现异步调用的多种方式,包括线程创建、Future接口、CompletableFuture类以及Spring框架的@Async注解。通过代码示例和深入解析,帮助读者理解并掌握这些技术。 ... [详细]
author-avatar
Mr---Nic
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有