c语言数字人民币转换函数 c语言编写程序100人民币兑换

C#编写程序,将一个小数转化成大写人民币,例如1234.56转化成壹千贰百叁拾肆元伍角陆分。

//类名:EcanRMB

站在用户的角度思考问题,与客户深入沟通,找到昌江网站设计与昌江网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站建设、做网站、企业官网、英文网站、手机端网站、网站推广、域名与空间、虚拟空间、企业邮箱。业务覆盖昌江地区。

//作用:数字转换为人民币大写

//作者:刘典武

//时间:2010-12-04

using System;

using System.Collections.Generic;

using System.Text;

namespace Ecan

{

public class EcanRMB

{

/// summary

/// 转换人民币大小金额

/// /summary

/// param name="num"金额/param

/// returns返回大写形式/returns

public string CmycurD(decimal num)

{

string str1 = "零壹贰叁肆伍陆柒捌玖";            //0-9所对应的汉字

string str2 = "万仟佰拾亿仟佰拾万仟佰拾元角分"; //数字位所对应的汉字

string str3 = "";    //从原num值中取出的值

string str4 = "";    //数字的字符串形式

string str5 = "";  //人民币大写金额形式

int i;    //循环变量

int j;    //num的值乘以100的字符串长度

string ch1 = "";    //数字的汉语读法

string ch2 = "";    //数字位的汉字读法

int nzero = 0;  //用来计算连续的零值是几个

int temp;            //从原num值中取出的值

num = Math.Round(Math.Abs(num), 2);    //将num取绝对值并四舍五入取2位小数

str4 = ((long)(num * 100)).ToString();        //将num乘100并转换成字符串形式

j = str4.Length;      //找出最高位

if (j  15) { return "溢出"; }

str2 = str2.Substring(15 - j);   //取出对应位数的str2的值。如:200.55,j为5所以str2=佰拾元角分

//循环取出每一位需要转换的值

for (i = 0; i  j; i++)

{

str3 = str4.Substring(i, 1);          //取出需转换的某一位的值

temp = Convert.ToInt32(str3);      //转换为数字

if (i != (j - 3)  i != (j - 7)  i != (j - 11)  i != (j - 15))

{

//当所取位数不为元、万、亿、万亿上的数字时

if (str3 == "0")

{

ch1 = "";

ch2 = "";

nzero = nzero + 1;

}

else

{

if (str3 != "0"  nzero != 0)

{

ch1 = "零" + str1.Substring(temp * 1, 1);

ch2 = str2.Substring(i, 1);

nzero = 0;

}

else

{

ch1 = str1.Substring(temp * 1, 1);

ch2 = str2.Substring(i, 1);

nzero = 0;

}

}

}

else

{

//该位是万亿,亿,万,元位等关键位

if (str3 != "0"  nzero != 0)

{

ch1 = "零" + str1.Substring(temp * 1, 1);

ch2 = str2.Substring(i, 1);

nzero = 0;

}

else

{

if (str3 != "0"  nzero == 0)

{

ch1 = str1.Substring(temp * 1, 1);

ch2 = str2.Substring(i, 1);

nzero = 0;

}

else

{

if (str3 == "0"  nzero = 3)

{

ch1 = "";

ch2 = "";

nzero = nzero + 1;

}

else

{

if (j = 11)

{

ch1 = "";

nzero = nzero + 1;

}

else

{

ch1 = "";

ch2 = str2.Substring(i, 1);

nzero = nzero + 1;

}

}

}

}

}

if (i == (j - 11) || i == (j - 3))

{

//如果该位是亿位或元位,则必须写上

ch2 = str2.Substring(i, 1);

}

str5 = str5 + ch1 + ch2;

if (i == j - 1  str3 == "0")

{

//最后一位(分)为0时,加上“整”

str5 = str5 + '整';

}

}

if (num == 0)

{

str5 = "零元整";

}

return str5;

}

/**/

/// summary

/// 一个重载,将字符串先转换成数字在调用CmycurD(decimal num)

/// /summary

/// param name="num"用户输入的金额,字符串形式未转成decimal/param

/// returns/returns

public string CmycurD(string numstr)

{

try

{

decimal num = Convert.ToDecimal(numstr);

return CmycurD(num);

}

catch

{

return "非数字形式!";

}

}

}

}

c语言编程,人名币兑换

#include stdio.h

int main(void)

{

int rmb = 0;

int temp;

int ten=0,five=0,two=0,one=0;

do {

printf("输入人民币面值(100以内):");

scanf("%d",rmb);

}while (rmb = 100);

temp = rmb;

ten = temp/10;

temp -= ten*10;

five = temp/5;

temp -= five*5;

two = temp/2;

temp -= two*2;

one = temp;

printf("%d 元可兑换为%d个10元,%d个5元,%d个2元,%d个1元\n",rmb,ten,five,two,one);

printf("%d %d %d 1\n",ten,five,two,one);

getchar();

getchar();

return 0;

}

C语言 换分币 用一百元人民币换成1元 5元和10元 共有多少种兑换方法

你好,如上所说,一共有361种兑换方法,可以得出{5C[1],C[1] + 2C[2],20 - C[1] -C[2]}方程,只需要保证都大于0就行。

1、遇到这种题目,我们首先要区分的概念是钱数和张数。这个问题我可以说大家伙都是明白的,但是用计算机来表达并不容易,是很有难度的。所以,在这种情况下,我们可以设置更多变量以使其易于查看,接着清空你的思绪。将100元换成1元、5元和10元。最简单的零钱是10元。因为 10 是 1、5、10 的最小公倍数。这总是为较小的数字留下空间来计算其他值。

2、然后可以用100删除,简而言之,无法清除并除以 100 / 10。这样10元10件、1元0件、5元最多可以获得。因此,最多为 10 件。如果9块是10元,此时定义变量13、以下就是这道题的代码

#include "stdio.h"

#include "math.h"

main()

{

printf("共有%d种不同的兑换方案",fun (int n))

}

fun(int m)

{ int i;

for(i=0;i{int j;

for(j=0;j{int k;

for(k=0;k{

if(10i+5j+k==100) m+=1

}

}

if(i==10) return m

}

}

程序源码如下:

循环嵌套循环次数少的尽量在外!

#include

#include

using namespace std;

int main()

{

int count = 0;//换法数量

int temp;

int m = 100;//总钱数

int a = 1;//1元面值

int b = 2;//2元面值

int c = 5;//5元面值

//a, b, c的值还可以是10,20,50

for (int i = 0; i {

for (int j = 0; j {

temp = m - (b * i + c * j);

//只要2元和5元的总和加起来不大于100,剩下的都换1元

if (temp = 0 temp % a == 0)

{

++count;//换法种数+1

}

}

}

cout ";//输出换法种数

system("pause");

return 0;

}

C语言编程:某人想将手中一张面值100元的人民币换成5元、1元和0.5元面值的票子,但要求100元

操作如下:

#include

main(){

int i,j,k,c=0;

for(i=1; ifor(j=1; jk=100-i-j;

if(i*5+j+0.5*k==100){

c++;

printf("%d %d %d\n",i,j,k);

}

}

printf("c=%d\n",c);

}

拓展资料:

一、C语言是一种计算机编程语言。它兼具高级语言和汇编语言的特点。它可以用作编写工作系统应用程序的系统设计语言,也可以用作编写不依赖计算机硬件的应用程序的应用程序设计语言。

随着科学技术的发展和人工智能时代的到来,计算机编程扮演着越来越重要的角色。C语言编程是程序员的入门语言,它使学习者更容易理解。当然,它也可以设计一些先进的应用软件和系统软件。C语言编程还可以帮助我们学习其他计算机语言,如熟悉的Java语言和VB语言设计,因此C语言是初学者必备的语言。

二、冯·诺依曼于1945年提出了现代计算机的一些思想,后人称之为冯·诺依曼思想,这是计算机发展史上的一个里程碑。自1945年以来,它主要采用其结构,因此冯·诺依曼被称为计算机之父。他的体系结构计算机由五部分组成:运算单元、控制器、存储器、输入设备和输出设备。C语言有着完整的理论体系。经过长期的发展,C语言在程序设计语言中扮演着重要的角色。

三、C语言是一种功能强大的语言,它可以用多种方式设计程序。它是一种特殊的高级语言,由多个函数组成。它有三种基本结构:顺序结构、选择结构和循环结构。C语言编辑简单明了,运算符丰富强大,具有编译和预处理功能。这种语言具有良好的可移植性。不同的处理器使用不同的编译器编译指令,以达到可移植性的效果。

四、计算机控制系统的运行过程中,后台的可用时间是有限的,需要进行控制,因此程序员经常使用C语言进行混合编程,这不仅缩短了设计时间,而且提高了工作效率。然而,一旦涉及到混合编程,问题就更加复杂了。程序员需要设计更多、更复杂、适应性更强的函数模型,这无疑增加了程序员工作的难度。


网站栏目:c语言数字人民币转换函数 c语言编写程序100人民币兑换
转载注明:http://myzitong.com/article/ddopiph.html