//类名: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 "非数字形式!";
}
}
}
}
#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;
}
你好,如上所说,一共有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;
}
操作如下:
#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语言进行混合编程,这不仅缩短了设计时间,而且提高了工作效率。然而,一旦涉及到混合编程,问题就更加复杂了。程序员需要设计更多、更复杂、适应性更强的函数模型,这无疑增加了程序员工作的难度。