C语言人民币转换代码..docVIP

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
???????? 问题提出: 建立一个函数,对一个数字转换成相应的人民币方式。 人民币按元为读写转换单位。 条件:参照中国人的读写习惯、采用中文大写。 ???????? 系统分析: 人民币转换函数的制作,首先应确定一个函数基本要素,即函数名、参数、返回值及其数据类型。 我们定义函数名:MoneyTrans,参数为人民币的阿拉伯表示,为了方便数据处理,我们定义其数据类型为字符串,返回值为人民币的大写表示,亦为字符串数据类型。 Char * MoneyTrans(char mstr[]); 通常情况下,按人民币读写习惯,对于整数部分是四位数字为一读写单位,分别有万、亿、万亿等。 对于连续的四位数字,其读写单位分别为千、百、拾等,最后一位数字无读写单位。 对于小数位,则有角、分等。 对于每一个阿拉伯数字,在中文上分别对应于:零、壹、贰、叁、肆、伍、陆、柒、捌、玖等。 通过上述分析,在编制函数时,我们可以按照读写习惯,依次对数据有高位到低位进行处理。 特殊情况: 对于四位数字中间连续有几个0的数字,通常只读一个零。 没有小数位的,要在后面添加一个整。 ???????? 代码设计: #include stdio.h #include string.h #include conio.h ? /*定义人民币转换所需字符串*/ char str1[]=零,壹,贰,叁,肆,伍,陆,柒,捌,玖; char str2[]=千,百,拾; char str2[]=万,亿,万亿; char str2[]=角,分; ? ? ? #define MaxCharsStr 250 /* 字符数组所装入的最多字符数 */ #define MaxLineCharsScreen 80 /* 屏幕一行显示的最大字符数 */ /* 该函数将字符串str显示在row行的中间*/ void PrintStrCenter(int row,char *str) { int col; col=( MaxLineCharsScreen - strlen(str)) /2 ; if (col=0) col=1; gotoxy(col,row); cprintf(%s,str); } /* 该函数将字符串str显示在row行的中间*/ void InitLineStr (int lineid,char *linestr) { char linestr1[MaxCharsStr]; char linestr2[MaxCharsStr]; char linestr3[MaxCharsStr]; int strval; int linelen; int tmpidx1; int tmpidx2; ?strcpy(linestr1, 1\t); if (lineid1) { linelen=strlen(linestr); strval=0; tmpidx2=0; for (tmpidx1=0;tmpidx1linelen;tmpidx1++) { if (linestr[tmpidx1]!= \t) linestr2[tmpidx2++]= linestr[tmpidx1]; else { linestr2[tmpidx2++]=\0; tmpidx2=0; if (strval!=0) { sprintf(linestr3, %d,strval+atoi(linestr2)); strcat(linestr1,linestr3); strcat(linestr1, \t); } strval=atoi(linestr2); } } strcat(linestr1, 1\t); } strcpy(str,str1); } ? /* 主函数 */ void main(void) { char linestr[MaxCharsStr]; int num;/*保存打印三角形的阶数*/ int idx; clrscr(); printf(Please input n[1,10]: ); scanf(%d,num); if (num0 num =10) { sprintf(linestr, The Table of %d. ,num); PrintStrCenter(5,linestr); for (idx=1;idx=num;idx++) { InitLineStr(idx, linestr); PrintStrCenter(8+idx, lines

文档评论(0)

dashewan + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档