//類名:EcanRMB
站在用戶的角度思考問題,與客戶深入溝通,找到昌江網(wǎng)站設計與昌江網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設計與互聯(lián)網(wǎng)技術結合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都網(wǎng)站建設、做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、域名與空間、虛擬空間、企業(yè)郵箱。業(yè)務覆蓋昌江地區(qū)。
//作用:數(shù)字轉換為人民幣大寫
//作者:劉典武
//時間: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?=?"萬仟佰拾億仟佰拾萬仟佰拾元角分";?//數(shù)字位所對應的漢字
string?str3?=?"";????//從原num值中取出的值
string?str4?=?"";????//數(shù)字的字符串形式
string?str5?=?"";??//人民幣大寫金額形式
int?i;????//循環(huán)變量
int?j;????//num的值乘以100的字符串長度
string?ch1?=?"";????//數(shù)字的漢語讀法
string?ch2?=?"";????//數(shù)字位的漢字讀法
int?nzero?=?0;??//用來計算連續(xù)的零值是幾個
int?temp;????????????//從原num值中取出的值
num?=?Math.Round(Math.Abs(num),?2);????//將num取絕對值并四舍五入取2位小數(shù)
str4?=?((long)(num?*?100)).ToString();????????//將num乘100并轉換成字符串形式
j?=?str4.Length;??????//找出最高位
if?(j??15)?{?return?"溢出";?}
str2?=?str2.Substring(15?-?j);???//取出對應位數(shù)的str2的值。如:200.55,j為5所以str2=佰拾元角分
//循環(huán)取出每一位需要轉換的值
for?(i?=?0;?i??j;?i++)
{
str3?=?str4.Substring(i,?1);??????????//取出需轉換的某一位的值
temp?=?Convert.ToInt32(str3);??????//轉換為數(shù)字
if?(i?!=?(j?-?3)??i?!=?(j?-?7)??i?!=?(j?-?11)??i?!=?(j?-?15))
{
//當所取位數(shù)不為元、萬、億、萬億上的數(shù)字時
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
///?一個重載,將字符串先轉換成數(shù)字在調用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?"非數(shù)字形式!";
}
}
}
}
#include stdio.h
int main(void)
{
int rmb = 0;
int temp;
int ten=0,five=0,two=0,one=0;
do {
printf("輸入人民幣面值(100以內(nèi)):");
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、遇到這種題目,我們首先要區(qū)分的概念是錢數(shù)和張數(shù)。這個問題我可以說大家伙都是明白的,但是用計算機來表達并不容易,是很有難度的。所以,在這種情況下,我們可以設置更多變量以使其易于查看,接著清空你的思緒。將100元換成1元、5元和10元。最簡單的零錢是10元。因為 10 是 1、5、10 的最小公倍數(shù)。這總是為較小的數(shù)字留下空間來計算其他值。
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
}
}
程序源碼如下:
循環(huán)嵌套循環(huán)次數(shù)少的盡量在外!
#include
#include
using namespace std;
int main()
{
int count = 0;//換法數(shù)量
int temp;
int m = 100;//總錢數(shù)
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;//換法種數(shù)+1
}
}
}
cout ";//輸出換法種數(shù)
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語言是一種計算機編程語言。它兼具高級語言和匯編語言的特點。它可以用作編寫工作系統(tǒng)應用程序的系統(tǒng)設計語言,也可以用作編寫不依賴計算機硬件的應用程序的應用程序設計語言。
隨著科學技術的發(fā)展和人工智能時代的到來,計算機編程扮演著越來越重要的角色。C語言編程是程序員的入門語言,它使學習者更容易理解。當然,它也可以設計一些先進的應用軟件和系統(tǒng)軟件。C語言編程還可以幫助我們學習其他計算機語言,如熟悉的Java語言和VB語言設計,因此C語言是初學者必備的語言。
二、馮·諾依曼于1945年提出了現(xiàn)代計算機的一些思想,后人稱之為馮·諾依曼思想,這是計算機發(fā)展史上的一個里程碑。自1945年以來,它主要采用其結構,因此馮·諾依曼被稱為計算機之父。他的體系結構計算機由五部分組成:運算單元、控制器、存儲器、輸入設備和輸出設備。C語言有著完整的理論體系。經(jīng)過長期的發(fā)展,C語言在程序設計語言中扮演著重要的角色。
三、C語言是一種功能強大的語言,它可以用多種方式設計程序。它是一種特殊的高級語言,由多個函數(shù)組成。它有三種基本結構:順序結構、選擇結構和循環(huán)結構。C語言編輯簡單明了,運算符豐富強大,具有編譯和預處理功能。這種語言具有良好的可移植性。不同的處理器使用不同的編譯器編譯指令,以達到可移植性的效果。
四、計算機控制系統(tǒng)的運行過程中,后臺的可用時間是有限的,需要進行控制,因此程序員經(jīng)常使用C語言進行混合編程,這不僅縮短了設計時間,而且提高了工作效率。然而,一旦涉及到混合編程,問題就更加復雜了。程序員需要設計更多、更復雜、適應性更強的函數(shù)模型,這無疑增加了程序員工作的難度。