main()

{double r,y;

int x, m,n,j,i,k,flag=0;

int str1[10]={"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};

int str2[14]={"仟","佰","拾","亿","仟","佰","拾","萬","仟","佰","拾","元","角","分"};

char str3[30];

printf("请输入金额(范围小于千亿):\n");

scanf("%lf",&r);

if(r>=1000000000000)

printf("输入的数超出范围,请重新输入\n");

y=r-(int)r; /*y为小数部分*/

x=(int)r; /*x为整数部分*/

for(i=0;i<=11;i++) /*整数部分*/

{

m=(int)((int)x%10);

str3[11-i]=m;

x=(int)(x/10);

}

str3[12]=(int)(y*10); /*小数部分*/

str3[13]=(int)(y*100)%10;

for(k=0;k<=13&&flag==0;k++) /*判断最大位是多少*/

{if(str3[k]>0)

{flag=1;n=k;

}

}

for(j=n;j<=13;j++)

printf("%s%s",str1[str3[j]],str2[j]);

printf("\n");

}

2.(拓展题,分值25)编程实现,输入一个人民币小写金额值,转化为大写金额值输出。要求实现完善的功能,如输入1002300.90,应该输出“壹佰万贰仟三佰元零玖角整”。

# includemain()

{double r,y;

int x, m,n,j,i,k,flag=0;

int str1[10]={"","壹","贰","叁","肆","伍","陆","柒","捌","玖"};

int str2[14]={"仟","佰","拾","亿","仟","佰","拾","萬","仟","佰","拾","元","角","分"};

char str3[30];

printf("请输入金额(范围小于千亿):\n");

scanf("%lf",&r);

if(r>=1000000000000)

printf("输入的数超出范围,请重新输入\n");

y=r-(int)r; /*y为小数部分*/

x=(int)r; /*x为整数部分*/

for(i=0;i<=11;i++)

{

m=(int)((int)x%10);

str3[11-i]=m;

x=(int)(x/10);

}

str3[12]=(int)(y*10);

str3[13]=(int)(y*100)%10;

if(y==0) /*当没有小数时的输出*/

{for(k=0;k<=13&&flag==0;k++) /*判断最大位是多少*/

{if(str3[k]>0)

{flag=1;n=k;

}

}

for(j=n;j<=11;j++)

{printf("%s",str1[str3[j]]);

if(str3[j]!=0||j==3||j==7)

printf("%s",str2[j]);

}

printf("整\n");

printf("\n");

}

if(y!=0) /*当有小数时的输出*/

{for(k=0;k<=13&&flag==0;k++) /*先输出整数*/

{if(str3[k]>0)

{flag=1;n=k;

}

}

for(j=n;j<=11;j++)

{printf("%s",str1[str3[j]]);

if(str3[j]!=0||j==3||j==7)

printf("%s",str2[j]);

}

printf("零");

if(str3[12]==0&&str3[13]!=0) /*输出小数*/

printf("%s%s整",str1[str3[13]],str2[13]);

if(str3[12]!=0&&str3[13]==0)

printf("%s%s整",str1[str3[12]],str2[12]);

if(str3[12]!=0&&str3[13]!=0)

printf("%s角%s分整",str1[str3[12]],str1[str3[13]]);

printf("\n");

}

}

c语言如何实现人民币转换编程,C语言成序设计实现人民币小写金额与大写金额的转换.docx...相关推荐

  1. 人民币小写金额转大写金额

    #region 人民币小写金额转大写金额/// <summary>/// 小写金额转大写金额/// </summary>/// <param name="Mon ...

  2. 人民币 小写金额转换为大写金额

    人民币 小写金额转换为大写金额 标签(空格分隔): 人民币 小写金额转换为大写金额 jsp: div class="form-group"> <label class= ...

  3. 新概念c语言教程答案,新概念编程C语言篇习题解答

    摘要: <21世纪普通高校计算机公共课程规划教材:新概念编程C语言篇习题解答>对<新概念编程C语言篇>教材中的习题进行了系统全面的分析和解答.习题精选了C语言编程中典型题型,计 ...

  4. c语言记录五个数组编程,C语言经典编程之数组

    1.元素互换 定义一个整型数组num[10],随机初始化数组中元素值,然后将头尾元素两两互换,将交换后的数组值输出. [代码] #include int main(void) { int num[10 ...

  5. c语言魔除,菜鸟学编程(C语言版)

    编码发送接收解码 CAB--→011110--→011110--→CAB 图:字符串的编码.发送.接收.解码全过程 (注2)一个二进制位串,用二进制的电子数字信号是很容易表示.存储和传输的.而任何用文 ...

  6. c语言 最大公约数 最小公倍数的编程,C语言三种算法求解最大公约数与最小公倍数...

    C语言三种算法求解最大公约数与最小公倍数 最大公约数与最小公倍数的求解是很多初学C的人所面临的一道问题.当然这道问题并不难解答,也有很多人已经写过相关的博客,我在此书写此篇博客,一是为了让自己能够夯实 ...

  7. c语言简单的atm机编程,C语言ATM机的简单模拟.doc

    PAGE PAGE 10 程序设计实习 -ATM机的简单模拟 院系:信息科学与技术学院 专业:计算机科学与技术 班级:A0611 学号:33号 姓名:石晓珍 ATM机的简单模拟 程序的具体功能: 用C ...

  8. 如何用c语言对51单片机进行编程,C语言在51单片机编程中的应用技巧

    随着单片机硬件性能的提高,编写应用程序更着重于程序本身的效率. Franklin或KEII.C51交叉编译器是专为51系列单片机设计的一种高效的C语言编译器,用其开发的应用程序易于维护,可移植性好,是 ...

  9. c语言mn回文素数编程,C语言求回文素数代码及解析

    原标题:C语言求回文素数代码及解析 问题描述 所谓回文素数指的是,对一个整数n从左向右和从右向左读其数值都相同且n为素数,则称整数为回文素数. 对于偶数位的整数,除了11以外,都不存在回文素数.即所有 ...

最新文章

  1. 求主析取范式与主合取范式
  2. 《51单片机应用开发从入门到精通》——2.2 跑马灯实例
  3. linux db2乱码,DB2乱码(开始和结束,字符串中间没有好的办法)
  4. excel导出_SpringBoot实现快速导出Excel
  5. 传统ELK分布式日志收集的缺点?
  6. JavaScript 书写方式与注释
  7. python怎么换行继续写脚本_python怎么换行继续写脚本
  8. dsge模型难做吗_百度Seo优化好做吗,现在做是不是越来越难做?
  9. bugfree如何修改Bug7种解决方案的标注方法 .
  10. 嵌入式操作系统风云录:历史演进与物联网未来.
  11. 构建自己的Conficker
  12. [Redis]Redis客户端
  13. 供应链金融系统-强大的供应链风控体系为金融平台保驾护航
  14. 鹏业安装算量软件按桥架快速布线
  15. 推荐电视剧 大秦帝国之裂变 2008
  16. 国内如何申请到Twitter API
  17. Juniper SRX340防火墙配置
  18. USB Type-C和USB PD
  19. 女朋友说“随便”到底是什么意思?
  20. jquery $.fn 是什么意思

热门文章

  1. whitelabel error page漏洞及解决
  2. 普通路由器和聚合路由器的区别
  3. The machine learning algorithm cheat sheet
  4. BI神器Power Query(17)-- PQ制作时间维度表(6)
  5. 康奈尔大学计算机硕士要求,申请康奈尔大学计算机硕士需要什么条件呢
  6. python打开文件,路径存在'\t'被转义
  7. 乐理分析笔记(一) 巴赫《平均律钢琴曲集》BWV.846 序曲
  8. 解决Ubuntu终端里面显示路径名称太长
  9. FPGA学习笔记2.1——用Verilog实现74LS148的功能定义并测试
  10. 质量团队的组建与升级