c语言如何实现人民币转换编程,C语言成序设计实现人民币小写金额与大写金额的转换.docx...
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...相关推荐
- 人民币小写金额转大写金额
#region 人民币小写金额转大写金额/// <summary>/// 小写金额转大写金额/// </summary>/// <param name="Mon ...
- 人民币 小写金额转换为大写金额
人民币 小写金额转换为大写金额 标签(空格分隔): 人民币 小写金额转换为大写金额 jsp: div class="form-group"> <label class= ...
- 新概念c语言教程答案,新概念编程C语言篇习题解答
摘要: <21世纪普通高校计算机公共课程规划教材:新概念编程C语言篇习题解答>对<新概念编程C语言篇>教材中的习题进行了系统全面的分析和解答.习题精选了C语言编程中典型题型,计 ...
- c语言记录五个数组编程,C语言经典编程之数组
1.元素互换 定义一个整型数组num[10],随机初始化数组中元素值,然后将头尾元素两两互换,将交换后的数组值输出. [代码] #include int main(void) { int num[10 ...
- c语言魔除,菜鸟学编程(C语言版)
编码发送接收解码 CAB--→011110--→011110--→CAB 图:字符串的编码.发送.接收.解码全过程 (注2)一个二进制位串,用二进制的电子数字信号是很容易表示.存储和传输的.而任何用文 ...
- c语言 最大公约数 最小公倍数的编程,C语言三种算法求解最大公约数与最小公倍数...
C语言三种算法求解最大公约数与最小公倍数 最大公约数与最小公倍数的求解是很多初学C的人所面临的一道问题.当然这道问题并不难解答,也有很多人已经写过相关的博客,我在此书写此篇博客,一是为了让自己能够夯实 ...
- c语言简单的atm机编程,C语言ATM机的简单模拟.doc
PAGE PAGE 10 程序设计实习 -ATM机的简单模拟 院系:信息科学与技术学院 专业:计算机科学与技术 班级:A0611 学号:33号 姓名:石晓珍 ATM机的简单模拟 程序的具体功能: 用C ...
- 如何用c语言对51单片机进行编程,C语言在51单片机编程中的应用技巧
随着单片机硬件性能的提高,编写应用程序更着重于程序本身的效率. Franklin或KEII.C51交叉编译器是专为51系列单片机设计的一种高效的C语言编译器,用其开发的应用程序易于维护,可移植性好,是 ...
- c语言mn回文素数编程,C语言求回文素数代码及解析
原标题:C语言求回文素数代码及解析 问题描述 所谓回文素数指的是,对一个整数n从左向右和从右向左读其数值都相同且n为素数,则称整数为回文素数. 对于偶数位的整数,除了11以外,都不存在回文素数.即所有 ...
最新文章
- 求主析取范式与主合取范式
- 《51单片机应用开发从入门到精通》——2.2 跑马灯实例
- linux db2乱码,DB2乱码(开始和结束,字符串中间没有好的办法)
- excel导出_SpringBoot实现快速导出Excel
- 传统ELK分布式日志收集的缺点?
- JavaScript 书写方式与注释
- python怎么换行继续写脚本_python怎么换行继续写脚本
- dsge模型难做吗_百度Seo优化好做吗,现在做是不是越来越难做?
- bugfree如何修改Bug7种解决方案的标注方法 .
- 嵌入式操作系统风云录:历史演进与物联网未来.
- 构建自己的Conficker
- [Redis]Redis客户端
- 供应链金融系统-强大的供应链风控体系为金融平台保驾护航
- 鹏业安装算量软件按桥架快速布线
- 推荐电视剧 大秦帝国之裂变 2008
- 国内如何申请到Twitter API
- Juniper SRX340防火墙配置
- USB Type-C和USB PD
- 女朋友说“随便”到底是什么意思?
- jquery $.fn 是什么意思
热门文章
- whitelabel error page漏洞及解决
- 普通路由器和聚合路由器的区别
- The machine learning algorithm cheat sheet
- BI神器Power Query(17)-- PQ制作时间维度表(6)
- 康奈尔大学计算机硕士要求,申请康奈尔大学计算机硕士需要什么条件呢
- python打开文件,路径存在'\t'被转义
- 乐理分析笔记(一) 巴赫《平均律钢琴曲集》BWV.846 序曲
- 解决Ubuntu终端里面显示路径名称太长
- FPGA学习笔记2.1——用Verilog实现74LS148的功能定义并测试
- 质量团队的组建与升级