c语言编写一个能够将人民币小写金额自动转化为大写写金额的程序写出程序语句

来自:    更新日期:早些时候
C语言编程:用指针编程序实现,输入一个人民币小写金额值,转化为大写金额值输出。~

#include "stdafx.h"

#include

#define NUM1 1
#define NUM2 2
#define NUM3 3
#define NUM4 4
#define NUM5 5
#define NUM6 6
#define NUM7 7
#define NUM8 8
#define NUM9 9
#define NUM 10
#define NUM10 11
#define NUM100 12
#define NUM1000 13
#define NUM10000 14
#define NUM100000 15
#define NUM1000000 16
#define NUM10000000 17
#define NUM100000000 18
#define NUM1000000000 19
#define NUM10000000000 20

void show_num(int *save,int count)
{
int i=count;

while(i>=0)
{
switch(save[i])
{
case 1:
printf("一");
break;
case 2:
printf("二");
break;
case 3:
printf("三");
break;
case 4:
printf("四");
break;
case 5:
printf("五");
break;
case 6:
printf("六");
break;
case 7:
printf("七");
break;
case 8:
printf("八");
break;
case 9:
printf("九");
break;
case NUM10:
printf("十");
break;
case NUM100:
printf("百");
break;
case NUM1000:
printf("千");
break;
case NUM10000:
printf("万");
break;
case NUM100000:
printf("十");
break;
case NUM1000000:
printf("百");
break;
case NUM10000000:
printf("千");
break;
case NUM100000000:
printf("亿");
break;
default:
break;
}

i--;
}

printf("
");
}

int main()
{
long int num=0,i=0;
int save[20]={0};

printf("请输入要大写的数值:");
scanf("%d",&num);

while(num)
{
save[i]=num%10;
num=num/10;
save[i+1]=NUM10+i/2;

i+=2;
}

show_num(save,i-2);

return 0;
}


如果有需要,自己太添加,就在那个switch里面,还有宏,
但是不能超过你定义的类型的最大值,否则会出错哦
汉字部分自己改把

你的电脑要有输出中文数字的software

然后#include

#include <iostream>
#include <string>
#include <stdlib.h>
using namespace std;

string ConvertMoneyCaps(long double moneySum)
{
long int temp_i = (long int)moneySum; /**//* 整数部分 */
float temp_f = moneySum - temp_i; /**//* 小数部分 */
int digit = 0, i, j, k, num_i;
string money("");
char num[20], *p;
char name[][3] = {"元","拾","佰","仟","万","亿"};
char numchar[][3] = {"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};
ltoa(temp_i, num, 10); /**//* 整数部分转换成字符串后在处理 */
p = num;
digit = strlen(num); /**//* 整数部分位数 */
/**//*--------处理整数部分 start--------*/
for(i = 1; i <= digit; i ++)
{
k = (digit - i) % 4;
if(isdigit(*p))
{
num_i = *p & 0xF; /**//* 把字符转换成数字,比如 '0'-> 0,'1' -> 1*/
/**//*--------转换数字开始---------*/
if(num_i)
{
money = money+ numchar[num_i];
}
else
{
if(k && (*(p + 1) &0xF))
money += "零";
}
/**//*--------转换数字结束-------*/
/**//*---------添加计数单位开始----*/
if(k)
{
if(num_i)
money = money + name[k];
}
else
{
j = digit - i;
if(j)
money = money + name[j/4 + 3];
else
money += "元";
}
/**//*--------添加计数单位结束--------*/
p++;
}
else
{
money = "遇到非数字退出!";
return money;
}
}
/**//*--------处理整数部分 End --------*/
/**//*--------处理小数部分 start--------*/
if(temp_f > 0.01)
{
if((int)(temp_f*10)) money = money + numchar[(int)(temp_f*10)] + "角";
if((int)(temp_f*100)%10) money = money + numchar[(int)(temp_f*100)%10] + "分";
}
/**//*--------处理小数部分 End--------*/
money += "整";

return money;
}
int main()
{
long double x = 33.20;
cout << "please input the money:";
cin >> x;
cout << "Convert Money Caps:";
string money = ConvertMoneyCaps(x);
cout << money <<endl;
return 0;
}


c语言编写一个能够将人民币小写金额自动转化为大写写金额的程序写出程序语句视频

相关评论:
  • 15936379471C语言编程:某人想将手中一张面值100元的人民币换成5元、1元和0.5元面...
    汲胀李当然,它也可以设计一些先进的应用软件和系统软件。C语言编程还可以帮助我们学习其他计算机语言,如熟悉的Java语言和VB语言设计,因此C语言是初学者必备的语言。二、冯·诺依曼于1945年提出了现代计算机的一些思想,后人称之为冯·诺依曼思想,这是计算机发展史上的一个里程碑。自1945年以来,它主要采用其...

  • 15936379471C语言中拆分人民币面值的题
    汲胀李c=money%10; \/* 求面值个位上的数字c *\/ printf("%ld$ -> ",money); \/* 输出标题头 *\/ if(a>0)printf("%ld 100$\\t",a);if(b>=5){ printf("1 50$\\t");if((b-5)%2==0)printf("%ld 20$\\t",(c-5)\/2);else if(c-5>1)printf("1 20$\\t1 10$\\t");else ...

  • 15936379471C语言,程序设计。用一百元人民币兑换成1元、5元和10元币,共有多少种...
    汲胀李\/\/这类题都是把每一种组合都试过得出的。。\/\/请采纳呦 include<stdio.h> main(){ int x, y, z;int n = 0;for(x=0;x<=100;x++){ for(y=0;y<=20;y++){ for(z=0;z<=10;z++){ if(1*x+5*y+10*z == 100){ printf("%d张一元, %d张五元, %d张十元\\n",x, y, ...

  • 15936379471C语言编写程序:要将1元人民币换1角,2角,5角的零钱,有几种换法?_百度知...
    汲胀李include<stdio.h> int main(){ int i,x,y,z, count=0;for(z=0; z<=2;z++)for(y=0;y<=5;y++)for(x=0;x<=10;x++){ if((x+2*y+5*z)==10){printf("%d %d %d\\n",x,y,z);count++;} } printf("%d",count);} ...

  • 15936379471C语言编程:将1元人民币兑换为1角、2角和5角的零钱,编写程序计算有多少...
    汲胀李include<stdio.h> int main(){ int i, j, k, cnt = 0;for (i = 0; i <= 10; i ++)for (j = 0; j <= 10; j += 2)for (k = 0; k <= 10; k +=5)if (i + j + k == 10)cnt ++;printf("%d\\n", cnt);} ...

  • 15936379471求大神!用C语言编程。最好有注释。100元人民币,换成一元、五角、一角...
    汲胀李以下是c语言代码(含注释),兑换方案有3,418,951种:include <stdio.h> void main()\/\/主函数 { int wuFen=0;\/\/5分硬币的数量 int yiJiao=0;\/\/1角硬币的数量 int wuJiao=0;\/\/5角硬币的数量 int yiYuan=0;\/\/1元硬币的数量 int count=0;\/\/记录兑换方案次数 \/\/内嵌四次循环,分析每...

  • 15936379471求c语言美元兑人民币程序
    汲胀李include<stdio.h> define fun(x) 6.177*(x)int main(void){ int x;double y;scanf("%d",&x);y=fun(x);printf("%d 美元可兑换 人民币 %.3lf 元\\n",x,y);return 0;}

  • 15936379471一道c语言作业题,不会做,帮帮忙给说说思路也行啊,谢谢
    汲胀李如果是这样的话,那很简单就可以处理了,拿到金额,然后就先跟100比较,若是比100大,那一定有一张是100的,然后-100,记下100的张数,再比较,这样循环,等到比100小的时候再跟50比较,类似下去.最后比出来的一定是最少的张数.然后再把每种金额的张数给打印出来.就OK了.我给你写段吧,调试通过了:includ...

  • 15936379471c语言兑换钱币问题对于给定的人民币金额n(分),问有多少种方案将其兑换...
    汲胀李include<stdio.h>int main(){int a,b,c,n=1,i=0;double k=0;while(scanf("%d",&n)!=EOF){i++;for(a=0;a<=n\/5;a++)for(b=0;b<=(n-5*a)\/2;b++)\/\/减去已经分配给5分的钱数for(c=0;c<=n-5*a-2*b;c++)\/\/减去已经分给5分和2分的钱数{if(c+2*b+5*a==n)...

  • 15936379471人民币有1元,5元,10元,20元,50元,100元的面值,写出一段C语言程序,找出...
    汲胀李include <stdio.h>#include <stdlib.h>int main(){ int ct1,ct5,ct10,ct50,ct20,ct100; int ctplan=1; for(ct100=0;ct100<=1;ct100++) { for(ct50=0;ct50<=2;ct50++) { for(ct20=0;ct20<=7;ct20++) { for(ct10=0;ct10<=14;ct10++) { ...

  • 相关主题精彩

    版权声明:本网站为非赢利性站点,内容来自于网络投稿和网络,若有相关事宜,请联系管理员

    Copyright © 喜物网