阿拉伯数字字帖012宽度一样不

在一次面试中遇到一个有意思的小算法题:要求将阿拉伯数字转为汉字显示出来(包含单位)。
当时虽然实现出来,但是代码写的有点凌乱。所以回家后,重新整理了一下。
这个算法有几个小的注意点:
1、中文字符占两个字节,所以如果用C语言实现,需要用char数组的形式保存单个汉字。
2、如果数字中出现连续的零,需要把它替换为单一的零。
3、在亿、万、元的前面一个汉字不可以为零(人民币读取方式决定)。
4、double数值可分为整数部分和小数部分。小数部分较简单,整数部分需要根据这个数字所在的位数匹配上对应的单位。
具体方法是:设置一个单位映射字符串表g_strUnit,可视为一个简单的HashTable。然后从头开始读取整数字符串的每个
字符,若这个字符在整数字符串的位置为i,这个字符后面的单位就是g_strUnit[length-<span style="color: #-i]。
/*******************************************************************************Project&Code&&:&AccountFile&name&&&&&:&Author&&&&&&&&:&LatteDescription&&&:&阿拉伯数字转为中文字符串Function&List&:--------------------------------------------------------------------------------History:Date&&&&&&&&&&&&Author&&&&&&&&&&Modification&&&&&&&&Latte&&&&&&&&&&&created&file.*******************************************************************************/#include&"stdafx.h"#include&&string&#include&&iostream&using&namespace&#define&MAX&100string&g_strDigit[]&=&{"零",&"壹",&"贰",&"叁",&"肆",&"伍",&"陆",&"柒",&"捌",&"玖"};string&g_strUnit[]&=&{"圆",&"拾",&"佰",&"仟",&"万",&"拾",&"佰",&"仟",&"亿",&&&&&&&&&&&&&&&&&&&&&&&"拾",&"佰",&"仟",&"万",&"拾",&"佰"};string&g_strUnit2[]&=&{"角",&"分"};/*******************************************************************************Func&Name&&&&&&&:&ReplaceSubStrDate&Created&&&&:&Author&&&&&&&&&&:&LatteDescription&&&&&:&将源字符串strOrig中第一个匹配strSub的子串部分替换为strReplaceInput&&&&&&&&&&&:&&&&&&&&&&&&&&&&&&&string&&strOrig,&&&&&&&&&&&&&&&&&&&string&strSub,&&&&&&&&&&&&&&&&&&&string&strReplaceOutput&&&&&&&&&&:&&&&&&&&&&&&&&&&&&&string&&strOrigReturn&&&&&&&&&&:&&&&&&&&&&&&&&&&&&&intCaution&&&&&&&&&:&返回值如果为-1,则表示替换失败或未找到替换项*******************************************************************************/int&ReplaceSubStr(string&&strOrig,&string&strSub,&string&strReplace){&&&&int&pos&=&(int)strOrig.find(strSub);&&&&int&length&=&(int)strSub.length();&&&&&&&&if&(pos&&=&<span style="color: #)&&&&{&&&&&&&&strOrig.replace(pos,&length,&strReplace);&&&&&&&&return&<span style="color: #;&&&&}&&&&&&&&return&-<span style="color: #;}/*******************************************************************************Func&Name&&&&&&&:&NumToChineseStrDate&Created&&&&:&Author&&&&&&&&&&:&LatteDescription&&&&&:&&&&&&&&&&&&&&&&&&&将人民币double数值转化为人民币汉字stringInput&&&&&&&&&&&:&&&&&&&&&&&&&&&&&&&double&moneyOutput&&&&&&&&&&:&Return&&&&&&&&&&:&&&&&&&&&&&&&&&&&&&stringCaution&&&&&&&&&:*******************************************************************************/string&NumToChineseStr(double&money){&&&&int&i&&&&&&&&&&&&&&&=&<span style="color: #;&&&&int&ret&&&&&&&&&&&&&=&<span style="color: #;&&&&int&length&&&&&&&&&&=&<span style="color: #;&&&&char&*p&&&&&&&&&&&&&=&NULL;&&&&char&*pcDecimal&&&&&=&NULL;&//保存小数部分字符&&&&char&czNumber[MAX]&&=&{<span style="color: #};&&//保存完整数字部分字符&&&&string&strR&&&&cout&&&&"======================================"&&&&&&&&cout&&&&money&&&&&&&&//判断是否为小数&&&&if&(money&&&<span style="color: #)&&&&{&&&&&&&&strResult&=&"不支持读负数";&&&&&&&&&&&return&strR&&&&&&&}&&&&//将数字转为数字字符串,利用sprintf_s的正则转换&&&&sprintf_s(czNumber,&MAX,&"%.15lg",&money);&&&&printf("[No.0]%s\n",&czNumber);&&&&&//如果数字是太大或太小的数,因为已经转为科学计数,所以会含有e字符&&&&p&=&strchr(czNumber,'e');&&&&&&if&(NULL!=p)&&&&&{&&&&&&&&strResult&=&"不支持读太大或太小的数";&&&&&&&&return&strR&&&&}&&&&&&&&p&=&strchr(czNumber,&'.');&&&&&&if&(NULL&!=&p)&&&&&{&&&&&&&&&&&&&&&p[<span style="color: #]&=&<span style="color: #;&&&&&&&&&&&&pcDecimal&=&p&+&<span style="color: #;&&&&&&&}&&&&&&&&length&=&(int)strlen(czNumber);&&&&&&&&&&for&(i&=&<span style="color: #;&i&&i++)&&&&&{&&&&&&&&&&&&&&&&if&('<span style="color: #'&==&czNumber[i]&&&&<span style="color: #&!=&((length-<span style="color: #-i)&%&<span style="color: #))&&&&&&&&{&&&&&&&&&&&&strResult&+=&g_strDigit[czNumber[i]&-&'<span style="color: #'];&&&&&&&&}&&&&&&&&&else&&&&&&&&&{&&&&&&&&&&&&strResult&+=&g_strDigit[czNumber[i]&-&'<span style="color: #']&+&g_strUnit[length-<span style="color: #-i];&&&&&&&&}&&&&&&&}&&&&cout&&&&"[No.1]把数字直接替换为汉字:&\n"&&&&strResult&&&&&&&&//把strResult中的所有"零零"子串替换为"零"&&&&while&(<span style="color: #)&&&&{&&&&&&&&ret&=&ReplaceSubStr(strResult,&"零零",&"零");&&&&&&&&if&(ret&&&<span style="color: #)&&&&&&&&{&&&&&&&&&&&&break;&&&&&&&&}&&&&}&&&&cout&&&&"[No.2]替换所有零零为零:&\n"&&&&strResult&&&&&&&&ReplaceSubStr(strResult,&"零亿",&"亿");&&&&ReplaceSubStr(strResult,&"零万",&"万");&&&&if&(strResult&!=&"零圆")&&&&//如果整数部分全为0,则不要去除元单位前面的零&&&&{&&&&&&&&ReplaceSubStr(strResult,&"零圆",&"圆");&&&&}&&&&&&&&cout&&&&"[No.3]去除零亿、零万、零圆前面的零:&\n"&&&&strResult&&&&&&&&//小数精确到两位数,即精确到单位分&&&&if&(NULL&!=&pcDecimal)&&&&&{&&&&&&&&//如果小数部分有数值而整数部分为0,则删除字符串中的零元&&&&&&&&if&(strResult&==&"零圆")&&&&&&&&{&&&&&&&&&&&&strResult.clear();&&&&&&&&}&&&&&&&&i&=&<span style="color: #;&&&&&&&&while&(<span style="color: #)&&&&&&&&&{&&&&&&&&&&&&&&&&&&&&&&&if&(<span style="color: #&==&pcDecimal[i]&||&i&&=&<span style="color: #)&&&&&&&&&&&&&&&&&break;&&&&&&&&&&&&&&&strResult&+=&g_strDigit[pcDecimal[i]&-&'<span style="color: #']&+&g_strUnit2[i];&&&&&&&&&&&&i++;&&&&&&&&&&&&&&}&&&&&&&}&&&&cout&&&&"[No.4]小数精确到两位数,即精确到单位分:&\n"&&&&strResult&&&&&&&&&&&&return&strR}int&main(void){&&&&//cout&&&&"Result:&"&&&&NumToChineseStr(0.00)&&&&&&&&//cout&&&&"Result:&"&&&&NumToChineseStr(-345.67)&&&&&&&&//cout&&&&"Result:&"&&&&NumToChineseStr(1000.0)&&&&&&&&cout&&&&"Result:&"&&&&NumToChineseStr(<span style="color: #.012)&&&&&&&&return&<span style="color: #;}
阅读(...) 评论()求0至9这十个数字组成的所有三位数的组合,用VB6.0百位可以是0,如012求的是组合,不是排列.如012 021 120 102 201 210 这6个数只需输出012就可以了,要像输写012一样```最小的数字在前面,最大的数字在_百度作业帮
拍照搜题,秒出答案
求0至9这十个数字组成的所有三位数的组合,用VB6.0百位可以是0,如012求的是组合,不是排列.如012 021 120 102 201 210 这6个数只需输出012就可以了,要像输写012一样```最小的数字在前面,最大的数字在
求0至9这十个数字组成的所有三位数的组合,用VB6.0百位可以是0,如012求的是组合,不是排列.如012 021 120 102 201 210 这6个数只需输出012就可以了,要像输写012一样```最小的数字在前面,最大的数字在最后总供的数据个数是120个吧(应当是的),输出到text1随便用什么方法求,越特别越好,一楼的我看过了,是可以用,虽说他可能用的是VBnet,但是我想要其它不一样的方法,(特别的方法),呵呵,再等下,没人答就给一楼你分了,
是120 个.大体上这样就行:for a = 0 to 7for b = a+1 to 8for c = b+1 to 9text1.value = text1.value & a & b & c & vbCrlfnextnextnext其他的什么窗体、按钮、触发什么的自己随便搞下吧.登录以后可以自己添加条目
豆瓣电影还没有,我来添加
······
······
& 2005-, all rights reserved中国健康心理学杂志
《中国健康心理学》是国内外公开发行的国家级学术期刊,是统计源期刊,综合因子0.521。中国健康心理学坚持理论与实践相结合、普及与提高相结合的办刊宗旨,帮助广大医务人员、心理学工作者、教育工作者、社会工作者提高专业理论水平。
主管单位:
主办单位:
国际刊号:
国内刊号:11-5257/R
出版地方:
邮发代号:18-285
创刊时间:1993
发行周期:
期刊开本:
复合影响因子:0.810
综合影响因子:0.521
所属分类:
期刊收录:
期刊级别:
审稿速度:
主编:崔以泰 张树峰
地址:河北省唐山市建设南路57号
邮编:063000
咨询:400-675-1600
2月份投稿一篇,一审后要求修改,其中一位审稿专家要求二审,修改后录用,但尚未刊发。从该刊网站得知,已有600多...
看过本期刊的用户还看过
期刊级别:
所属分类:
产品参数:
主管单位:中国科学技术协会
主办单位:中国心理卫生协会
出版地方:河北
快捷分类:教育
国际刊号:
国内刊号:11-5257/R
邮发代号:18-285
创刊时间:1993
发行周期:月刊
期刊开本:A4
审稿时间:3-6个月
中国健康心理学杂志社简介
《中国健康心理学》(月刊)创刊于1993年,是中国科学技术协会主管、中国心理卫生协会主办的国内外公开发行的国家级学术期刊;中国学术期刊光盘版全文收录期刊;中国学术期刊综合评价数据库来源期刊;科技部“万方数据——数字化期刊群”收录期刊;中国核心(遴选)期刊。
《中国健康心理学》坚持理论与实践相结合、普及与提高相结合的办刊宗旨,帮助广大医务人员、心理学工作者、教育工作者、社会工作者提高专业理论水平。为推动健康心理学事业的不断发展;为促进健康心理学学术交流;为提高人类心理健康素质服务。主要栏目:论著、综述与讲座、不同年龄阶段的心理健康研究、不同群体的心理健康调查研究、变态心理研究、性心理研究、心理治疗、心理咨询。
中国健康心理学杂志栏目设置
主要栏目:论著、综述与讲座、不同年龄阶段的心理健康研究、不同群体的心理健康调查研究、变态心理研究、性心理研究、心理治疗、心理咨询。
中国健康心理学杂志荣誉
中国健康心理学杂志社征稿要求
1稿件形式与字数
论著与短篇论著均属科研论文的发表格式。综述一般由编辑部约稿;自投综述若无相应研究论文,本刊通常不予以考虑。字数控制在5000字。
2投稿相关事宜
2.1证明、保密与知情同意论著、短篇论著、摘要、个案报告等涉及科研场所和病人(被试)的文章需要相关单位出据加盖公章的证明材料,注明取得了病人(被试)或其监护人书面的知情同意;证明投稿没有公开发表过,也没有在其他出版单位审稿之中(即无一稿多投);证明文章内容不违反《中华人民共和国国家保密法》的规定。涉及真实患者时应为患者身份保密,不暴露能识别其身份的姓名、个人史、病例号、肖像特点等。
2.2投稿、收稿、审稿、编辑、退稿投稿请用A4纸五号字单面单倍行距打印,一式两份,文章格式若不符合本稿约要求,编辑部视情况在送审前请作者修改,修改后作为重新投稿处理,稿件编号不变,收稿日期顺延,而后正式进入送审程序。本刊采用三审制。复审通过者由编辑部提出修改意见,作者将回修稿通过电子邮件发送。退修符合要求者才能进入终审。编辑部有权对稿件进行文字加工。(参考文献使用“中国健康心理学杂志”2篇以上的论文优先发表)
3.论著格式与注意事项
3.1文题:简洁明了,20个字以内。去掉无实意的字,如某某研究,某某探讨,某某分析。作者及单位:作者在题名下顺序排列,排序在投稿时应该已经确定,编辑过程中不宜改动。如果来自不同单位,以上角标〔1,2〕标出,脚注中注明作者单位及邮政编码。通讯作者:指明一位联系人,写清姓名、单位、地址、邮编、电话、传真、电子邮箱。脚注:包括作者单位,资助项目及编号(需提交复印件)。致谢:写在首页内,正文之后不再出现。
3.2中英文摘要与关键词中、英文摘要均采用结构式,包括目的(Objective)、方法(Methods)、结果(Results)、结论(Conclusion)四部分。一般不超过250字或单词。中英文摘要后均另起一行列出关键词4~7个,中英文一一对应。科协规定第一个关键词为二级学科,第二个为研究领域,第三个为研究方法,以后作者自行决定。
3.3正文分引言、对象与方法、结果、讨论四部分。如果分节,用阿拉伯数字012……表示,下一层次用1.1,1.2表示。表格采用三线表,注明表1、表2等,可插在文中,但不应跨页。表格中采用*法标明统计学意义。<
3.3.1研究对象对象的来源要描述清楚,从什么人群中,按什么方法抽样;如果是随机分组,要有具体的随机化方法。研究对象的年龄、性别及其他相关背景资料要介绍清楚。其中,“文化程度”应规范为“受教育程度”。
3.3.2研究方法研究工具要有出处,即从哪里得来的工具。要介绍工具的可靠性,即信度、效度检验结果,并附文献出处。另外,应适当介绍工具的结构、记分方法、划界值、常模,以便读者了解测评结果的意义。若工具为外文版汉化而来、自行设计或不常用,要附工具原文,研发过程,可靠性检验的结果。干预研究的方法要具体.
3.3.3统计分析应该说明具体选择了哪些统计方法。在结果中,要注明统计值,用斜体,如t检验的t值,卡方检验的?2值,P值采用大写斜体P,而且常规只设0.05、0.01和0.001三个显著性水平。有统计学显著性不说明结果的实际意义非常显著,只能说明差异是偶然误差引起的可能非常小,可以不考虑偶然误差,行文中应采用某某与某某的差异有统计学显著性。
3.3.4研究结果要与方法一一对应,先给出各个测查工具的结果,再进行相关分析。分析时先采用单因素分析,再根据相应结果,进行多因素分析。数字修约(保留小数点):首先要明确,进行数学运算不能增加测量的精确度。在作算术平均后,均值应按原始数据的有效数字保留小数点。例如,年龄原来若是按整岁收集的,平均后也应保留整岁。
3.3.5参考文献按顺序编码制,以加方括号的上角码在正文中标出,如[1],文后参考文献中列出3名作者。
中国健康心理学相关期刊
中国健康心理学杂志网友评论
文章第一天投出去,第二天被拒了,给了一次重投的机会,我修改了文章,然后重投,15天过去了,还没有消息,不清楚什么情况,所以就没消息了,而且一直到现在。
审稿时间比较快,责任编辑很负责,意见也很专业,国内的好期刊。。。邮件退稿通知内容:根据审稿意见及本刊编辑会议决定,您的稿件不宜在本刊发表.建议您改投其他刊物.感谢您对本刊的大力支持,希望今后多为本刊撰稿.
投稿后一个月让修改格式,修改后两个月回来一审意见,之后返修,又一个月后回来二审意见,返修后,停2个月录用。
以前投了一篇一个月小改后直接录用,这刚刚又投了一篇还在等待中。大家都说中国健康心理学杂志好中,那是因为作者有水平,研究的东西新颖,不能怪期刊质量差,我觉的这就是个好期刊,它时刻在把握着材料前沿性的东西。赞一个
审稿还算比较快,如果稿件质量有保证的话,一般一个月内有回应,影响因子还行,值得推荐。
真诚的感谢您分享宝贵的投稿经历和经验,你的言论将有助于公正的评价这本杂志。帮助大家少走弯路,快速享受到杂志社编辑部录用的喜悦!
为了表达谢意,您点评将获得0.5个Q币作为奖励,没有上限!如果被举报为无意义点评,我们将删除你的点评,扣除所得。
评论的主要内容建议为:杂志偏重的研究方向、投稿是否录用、投稿费用、原创度要求、审稿时间等点评说明。
快 速 直 达
杂志之家服务支持
售前咨询: 0
     5
     5
夜间值班: 400-675-1600
投诉电话: 1
工作日 8:00-22:00
7×24小时支持
杂志之家网版权所有 严禁抄袭 ICP备案:蜀ICP备号 遂公网安备:82排列组合问题,0-9这10个数里面取3个不同的数字,不考虑顺序,有多少种?从0-9这10 个数字里面,取3个~不同~的数字,如012,组成一组,但是3个里面不可以重复,比如001与889都不算一种;另外顺序不一样_百度作业帮
拍照搜题,秒出答案
排列组合问题,0-9这10个数里面取3个不同的数字,不考虑顺序,有多少种?从0-9这10 个数字里面,取3个~不同~的数字,如012,组成一组,但是3个里面不可以重复,比如001与889都不算一种;另外顺序不一样
排列组合问题,0-9这10个数里面取3个不同的数字,不考虑顺序,有多少种?从0-9这10 个数字里面,取3个~不同~的数字,如012,组成一组,但是3个里面不可以重复,比如001与889都不算一种;另外顺序不一样算一种,比如012与021算一种,3个数字不可重复,一共有多少种情况?请讲明算法,
从10个数中任取出3个数字,取第一个有10种不同方法,取第二个有9种,取第三个有8种一共是10*9*8=720(种)也可以写成10!/(10-3)!=8*9*10=720(种)

我要回帖

更多关于 阿拉伯数字字体大全 的文章

 

随机推荐