简介

模拟银行的钱数大写输出例如

345

叁肆伍

方法/步骤

首先打开VC++

文件》》》新建

创建一个C++空白文档

先声明头文件

#include

声明变量

char *p[10]={"零","一","二","三","四","五","六","七","八","九"};

由于用到了自定义函数,所以先声明

void PrintInterger(char a[], int len);/*输出整数部分 */

void PrintDecimal(char a[],int len);/*输出小数部分 */

函数1,用于输出整数部分,主要是用switch case进行匹配转换

void PrintInterger(char a[], int len)

{

int i, j, tag1, tag2, tag3;

tag1=(a[len-6]=='0' && a[len-7]=='0' && a[len-8]=='0');

tag2=(a[len-14]=='0' && a[len-15]=='0' && a[len-16]=='0');

tag3=(a[len-22]=='0' && a[len-23]=='0' && a[len-24]=='0');

printf("您的钱数是:n");

for(i=0,j=len; i0; i++,j--)

{

if(a[i] == '0' && i != len-1)

{

if((j == 5 && tag1) || (j == 13 && tag2) || (j == 21 && tag3 ))

;

else if((j == 21 && ! tag3 )||(j == 5 && ! tag1)||(j == 13 && ! tag2))

printf("万");

else if(j == 9 || j == 17 )

printf("亿");

else if(a[i+1] == '0' && i != len-1)

;

else if(a[i+1] != '0' && i != len-1)

printf("零");

else

;

}

else if(a[i] == '0' && i == len-1)

;

else if(a[i] != '0')

{

/*阿拉伯数字向汉字的转换*/

switch(a[i])

{

case '1': printf("%s",p[1]); break;

case '2': printf("%s",p[2]); break;

case '3': printf("%s",p[3]); break;

case '4': printf("%s",p[4]); break;

case '5': printf("%s",p[5]); break;

case '6': printf("%s",p[6]); break;

case '7': printf("%s",p[7]); break;

case '8': printf("%s",p[8]); break;

case '9': printf("%s",p[9]); break;

default: printf("error"); ; break;

}

/*输出相应的单位*/

switch(j)

{

case 2:

case 6:

case 10:

case 14:

case 18:

case 22: printf("%s","十"); break;

case 3:

case 7:

case 11:

case 15:

case 19:

case 23: printf("%s","百"); break;

case 4:

case 8:

case 12:

case 16:

case 20:

case 24: printf("%s","千"); break;

case 5:

case 13:

case 21: printf("%s","万"); break;

case 9:

case 17: printf("%s","亿"); break;

default: printf("%s",""); break;

}

}

}

printf("%s","圆");

}

函数2,用于输出小数部分,主要是用switch case进行匹配转换

void PrintDecimal(char a[],int len)

{

int i;

for(i=0; i

{

/*阿拉伯数字向汉字的转换*/

switch(a[i])

{

case '0': printf("%s",p[0]); break;

case '1': printf("%s",p[1]); break;

case '2': printf("%s",p[2]); break;

case '3': printf("%s",p[3]); break;

case '4': printf("%s",p[4]); break;

case '5': printf("%s",p[5]); break;

case '6': printf("%s",p[6]); break;

case '7': printf("%s",p[7]); break;

case '8': printf("%s",p[8]); break;

case '9': printf("%s",p[9]); break;

default: printf("%s",p[0]); ; break;

}

/*输出对应的单位*/

switch(i)

{

case 0: printf("%s","角"); break;

case 1: printf("%s","分"); break;

case 2: printf("%s","厘"); break;

case 3: printf("%s","毫"); break;

default:; break;

}

}

}

主函数,变量的作用我说明了

int main(void)

{

char Number[128];/* 用来存放用户输入的数字 */

char Interger[64], Decimal[64];/* 分别存放输入数的整数和小数部分 */

int lenI,lenD;/* 分别记录整数和小数部分的长度 */

int i,j;

puts("*************************************");

puts("* This is a print program *");

puts("* used in a bank *");

puts("*************************************");

puts("please input the money:");

gets(Number);

i=0;j=0;

/* 处理输入的数的整数部分 */

while((Number[i]!= '/0') && (Number[i]!= '.' )&& (Number[i] >= '0') && (Number[i] <= '9'))

{

Interger[i]=Number[i];

i++;

}

lenI = i;

if(Number[i]== '.')

{

i++;

/*处理输入的数的小数部分*/

while(Number[i]!= '/0' && Number[i] >= '0' && Number[i] <= '9')

{

Decimal[j++]=Number[i++];

}

/* 精确到小数点后4位数 */

if((j >= 4 )&& (Decimal[4] > '5'))

{

Decimal[3]+=1;/* 进行4舍五入操作 */

Decimal[4] = '/0';

}

}

if(j >= 4)

lenD = 4;

else

lenD = j;

PrintInterger(Interger, lenI);

PrintDecimal(Decimal,lenD);

printf("n");

return 0;

}

运行结果

c语言求出伍位数,简介 模拟银行的钱数大写输出例如345叁肆伍方法/步骤 首先打开VC++ 文件》》》新建 创建一个C++空白文档 先声明头文件复制代码 代码...相关推荐

  1. c语言10个数求立方合并输出,C语言 求出100~999之间的所有“水仙花数”并输出...

    "水仙花数"是指一个三位数,其各位数字的立方和确好等于该数本身,如:153=1+5+3?,则153是一个"水仙花数".在数论中,水仙花数(Narcissisti ...

  2. C语言 求出100~999之间的所有“水仙花数”并输出

    "水仙花数"是指一个三位数,其各位数字的立方和确好等于该数本身,如:153=1+5+3?,则153是一个"水仙花数".在数论中,水仙花数(Narcissisti ...

  3. 用C语言求出0~999999之间的所有“水仙花数”并输出。

    求出0-999999之间的所有"水仙花数"并输出. "水仙花数"是指一个三位数,其各位数字的立方和确好等于该数本身.在数论中,水仙花数(Narcissistic ...

  4. python 表示金额时,将中文数字的大写的壹贰叁肆伍转换为阿拉伯数字:rmbTrans.trans

    在处理表格或word文档时,有时候像金额这种数据,在比较正式的情况下会写成中文的形式,比如壹万叁仟陆佰伍拾元贰角这种,我们如何将它转换为阿拉伯数字表示的1365.2元这种形式呢? 此处介绍一个函数 r ...

  5. 〖Python自动化办公篇⑧〗- word文件自动化 - 创建并生成 word 文档

    万叶集

  6. 合并当前文件夹下的所有excel文档(修改)

    @[TOC]合并当前文件夹下的所有excel文档(修改) '合并当前文件夹下的所有excel文档(修改) '原版来自:怎么把100多个EXCEL文件合并成一个_百度知道 https://zhidao. ...

  7. Word文档如何进行压缩文件?

    Word文档可以帮助大家存储很多文字性的信息,同时文档中也可以插入表格及图片等内容,当文档占用的内存比较大不利于传输时,我们可以对文档进行压缩,很多人不知道Word文档如何进行在线压缩,下面这个教程就 ...

  8. C语言试题二十四之编写一个函数unsigned function(unsigned w),w使一个大于10的无符号整数,若w是n(n≥2)位的整数,则函数求出w后n-1位的数作为函数值返回。

    1. 题目 请编写一个函数unsigned function(unsigned w),w使一个大于10的无符号整数,若w是n(n≥2)位的整数,则函数求出w后n-1位的数作为函数值返回. 比如:w是1 ...

  9. c语言程序找出500以内的所有素数,c语言求出给定范围内的所有质数

    程序功能: 输入一个整数,要求打印出这个整数以内的所有质数. 程序示例: #include #include #include bool IsPrime(int x) { bool bResult = ...

最新文章

  1. 第二阶段_第五小节_C#基础3
  2. 每一个工程师都要学的安全测试,老板再也不用担心服务器被黑
  3. 区间调度之区间交集问题
  4. 如何处理 Hybris Accelerator css style 显示不正确的问题
  5. 2020年中国互联网租车报告
  6. 内推学弟进了腾讯,看看他的标杆简历!
  7. Tomcat集群实现源码级别剖析
  8. python坐标图设计_python 三维坐标图
  9. Java-Runtime
  10. 修改/etc/resolv.conf又恢复到原来的状态?[转]
  11. 重磅!Google ARCore 和京东 AR 联合举办消费应用创新大赛
  12. ES6深入浅出-1 新版变量声明:let 和 const-1.视频 概述
  13. 嗅探对方机器,获取机器键盘记录
  14. 使用Bochs写Hello world
  15. [数字媒体] PR视频剪辑之竖屏实现横屏旋转切换和大视频文件缩小
  16. 【彩虹 钢琴伴奏】笔记
  17. 不同操作系统图片显示发生颠倒,linux ubuntu win7 win10
  18. 小红旗图标在excel如何输入_Excel用条件格式给数据插上小红旗
  19. C语言中字符串用strcmp和==比较的问题
  20. Widows(win10等等)使用过程中的 问题 与 小技巧 ----- 长期积累

热门文章

  1. 马云大量转卖滴滴股权!什么情况?饿了么全归阿里?
  2. 马云的讲话,充满了对金融的“无知与傲慢”!
  3. 在Service调用mapper出现空指针
  4. 《钗头凤·红酥手》与《钗头凤·世情薄》赏析
  5. 开发者的4个层级和6大差异
  6. 海量数据做计算,到底可以有多快?
  7. testbench文件显示波形_modelsim显示模拟波形详解
  8. vcard规范 二维码名片的格式
  9. XMind ,印象笔记, Effie 哪个更加适合影评人?
  10. 根据菜鸟教程自学html的目录