- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 拿例子讲解整个过程比如6以内的素数 * * * * * * * * * * * * * * * * 读(ch) 读(ch) ch==‘ ’ 滤掉前导空白 翻译整数部分= n 合并 n 、f 处理小数点“.” 翻译小数部分=f 综合上述算法PAD 翻译整数部分 n = 0 返回 n = n*16+ch 读(ch) ch==数字 翻译整数部分 把整数部分表达式整理一下,可以改写成: 读(ch) 读(ch) ch==’ ‘ n = 0 n = n*16+ch 读(ch) ch==数字 翻译整数部分= n 合并 n 、f 处理小数点“.” 翻译小数部分=f 综合上述算法PAD ch== . 翻译小数部分=f 小数点处理 小数点处理 返回 读(ch) 读(ch) ch==’ ‘ n = 0 n = n*16+ch 读(ch) ch==数字 ch== . 翻译小数部分=f 合并 n 、f 处理小数点“.” 翻译小数部分=f 综合上述算法PAD 翻译小数部分 f = 0 ; g = 1.0 返回 读(ch) ch=数字 f=f+g*ch 读(ch) g = g/16 翻译小数部分 考虑翻译小数部分:小数部分表示成: 输出 n 读(ch) 读(ch) ch==’ ‘ n = 0 n = n*16+ch 读(ch) ch==数字 f = n+f 输出 f f = 0 ; g = 1.0 读(ch) ch=数字 f=f+g*ch 读(ch) g = g/16 ch== . 翻译小数部分=f 合并 n 、f 综合上述算法PAD #define radix 16 void main(){ char ch; float g; // 小数部分“位值” int n; // 保存整数部分 float f; // 保存小数部分,和最后实数 /*滤掉前导空白字符*/ ch=getchar( ); while(ch== ) ch=getchar( ); /*翻译整数部分*/ n=0; while( isdigit(ch) ){ n=n*radix + calculate_char(ch) ; ch=getchar( ); } … … … … } void main(){ … … … … if(ch==.){ /*翻译小数部分*/ f=0.0; g=1.0; ch=getchar( ); while( isdigit(ch) ){ g=g/radix; f=f+g* calculate_char(ch) ; ch=getchar( ); } /*整数部分与小数部分合并*/ f=f+n; printf( 该数为实数:%g\n,f ); } else printf(“ 该数为整数:%d\n”,n); } // 计算合法数字字符的数值 int calculate_char(char ch){ if((ch=0)(ch=9)) return (int)ch-0; else if((ch=A)(ch=F)) return (int)ch-A+10; else return (int)ch-a+10; } // 判断ch是否十六进制数字的函数 bool isdigit(char ch){ return (ch=0)(ch=9) ||(ch=A)(ch=F) ||(ch=a)(ch=f); } 运行结果演示 一个十六进制数由以下几部分组成: 1. 前导字符──这部分不是数的成分; 2. 整数部分; 3. 小数点; 4. 小数部分。 解2. 状态矩阵方法 解法1程序也分成这几个阶段。若称每个阶段为一个状态,则十六进制数的处理过程分别在如下四个状态下进行: 1. 处理前导字符状态(s0); 2. 处理整数部分状态(s1); 3. 处理小数点状态(s2); 4. 处理小数部分状态(s3)。 为方便起见再加一个结束状态s4 , 在 s0 状态下, 遇到空白字符,则越过,状态不变; 遇到数字字符,则进行整数部分的翻译拼数,并转到状态 s1 ; 遇到小数点“.”,则转到状态 s2 ,该数为实数; 遇到其他字符,则错误,设为1号错误,转到结束状态s4 。 在 s1 状态下, 遇到数字字符,则进行整数部分的翻译拼数,状态不变
您可能关注的文档
最近下载
- IDSA耐药革兰氏阴性杆菌感染治疗指南解读PPT课件.pptx VIP
- 精品解析:四川省成都市锦江区七中育才学校2022-2023学年九年级上学期期中数学试题(解析版).docx VIP
- 传播学基础教程精品课课件(全套).ppt VIP
- 危化经营单位主要负责人及安全生产管理人员培训 .pdf VIP
- 第八章半导体表面与MIS结构SemiconductorsurfaceandMIS.ppt VIP
- T_CHTIA 002-2023 科技成果评价标准实施指南.pdf
- 圆的性质定理.docx VIP
- 生产经营单位主要负责人、安全生产管理人员培训大纲.pdf VIP
- 四则混合运算100道(专项训练)-2024-2025学年五年级上册数学人教版.docx VIP
- 护理人员在急诊护理中的团队协作与沟通.pptx VIP
我的文档主要集中的行业是石油化工和安全生产,从事石油化工行业并且取得了中级注册安全工程资格。精通炼油工艺方面的工艺、安全、设备。希望通过平台共享自己的知识和经验。
原创力文档


文档评论(0)