找零錢的c語言,c語言找零錢最少張數

本文目錄一覽:

c語言關於找零錢的問題

#include stdio.h

int main()

{

    int a,b,c,d,e,t;

    scanf(“%d”,t);

    a=t%100;

    t-=a*100;

    if(a0) printf(“10元%d個 “, a);

    b=t%50;

    t-=b*50;

    if(b0) printf(“5元%d個 “, b);

    c=t%10;

    t-=c*10;

    if(c0) printf(“1元%d個 “, c);

    d=t%5;

    t-=d*5;

    if(d0) printf(“5角%d個 “, d);

    e=t;

    if(e0) printf(“1角%d個 “, e);

    printf(“\n”);

    return 0;

}

急求一個c語言源代碼關於找零錢問題的

我們知道人民幣有1、2、5、10、20、50、100這幾種面值。

現在給你n(1≤n≤250)元,讓你計算換成用上面這些面額表示且總數不超過100張,共有幾種。

#includestdio.h

int main()

{int a,b,c,d,e,f,g,n,count=0;

printf(” please input n:\n”);

scanf(“%d”,n);

for(a=n/100;a=0;a–)

for(b=(n-100*a)/50;b=0;b–)

for(c=(n-100*a-50*b)/20;c=0;c–)

for(d=(n-100*a-50*b-20*c)/10;d=0;d–)

for(e=(n-100*a-50*b-20*c-10*d)/5;e=0;e–)

for(f=(n-100*a-50*b-20*c-10*d-5*e)/2;f=0;f–)

{g=n-100*a-50*b-20*c-10*d-5*e-2*f;

if(a+b+c+d+e+f+g=100)

{count++;

printf(” 100:%d–50:%d–20:%d–10:%d–5:%d–2:%d–1:%d\n”,a,b,c,d,e,f,g);

};

}

printf(” n=%d,count=%d\n”,n,count);

return 0;}

這是程序“不過n大於100效率會低一點“`像卡死了一樣“`建議n不去太大“

急求,找零錢問題的c語言程序

#includestdio.h

#define len 10

main()

{

int m[len];

int num[len]={0};

int n,j;

int i=0;

int temp=1;

printf(“please input the vertex:\n”);

printf(“if you want to end inputing,please input 0\n”);

while(ilentemp!=0)

{

scanf(“%d”,temp);

if(temp!=0)

m[i]=temp;

i++;

if(judgeorder(m)==0)

{

printf(“please reenter the vertex:\n”);

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

m[j]=0;

i=0;

}

}

printf(“please input the amount of money:\n”);

scanf(“%d”,n);

i=0;

while(m[i]!=0)

{

num[i]=n/m[i];

n=n-num[i]*m[i];

if(n==0)

break;

i++;

}

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

{

if(num[i]==0)

continue;

else

printf(“The %3d fen needs %3d\n”,m[i],num[i]);

}

getch();

}

int judgeorder(int a[len])

{

int i,count=0;

for(i=0;ilen-1a[i]!=0;i++)

{

if(a[i]a[i+1])

{

return 0;

break;

}

else count++;

}

if(count==len-2)

return 1;

}

這個就是你要的程序,如果有不懂的話加我QQ357685821,我給你解釋

c語言找零錢問題

double iChange=0;

double taget=0.72;

double Money[5] = { 0.5, 0.1, 0.05, 0.02, 0.01};

double ArrChange[100];

for語句將ArrChange置零;

int CountCoin=0;

while(iChange != taget )

{

for(int i = 0 ; i 5 ; i ++)

{

if(iChange + Money[i] taget)continue;

else

{

iChange += Money[i];

ArrChange[CountCoin] = Money[i];

CountCoin++;

}

}

}

//基本是這麼個思路,如果一點也不思考對你沒好處,原理就是找多了就換小的,盡量選大的錢

c語言 找零錢問題,謝謝

這很容易。

先輸入n值,然後從最大面值的人民幣開始減。例如:

我有238元

減最大面值的第一個。238-100=138。結果為正數且不為零。然後記錄100元張數的變數加1(這些變數都應初始化時為0)

繼續,138-100=38.結果正數且不為零,同上100面值變數加1,

38-100。結果小於零。不再用100面值的減。

38-50。結果同樣小於零,不再用50面值的減。

38-20=18.結果為正數且不為零,20元張數的變數加1,

18-20。結果小於零。不再用20面值的減。

18-10=8。結果為正數且不為零,10元張數的變數加1,

8-10.結果小於零。不再用10面值的減。

8-5=3。結果為正數且不為零,5元張數的變數加1,

3-5。結果小於零。不再用5面值的減。

3-2=1.結果為正數且不為零,2元張數的變數加1,

1-1=0.結果為零。1元張數變數加1.顯示結果。

你有:

100元(2)張,50元(0)張,20元(1)張,10元(1)張,5元(1)張,2元(1)張,1元(1)張。

用C語言編寫找零錢問題,謝謝!!

//用遞歸, C++下調試

#include iostream

using namespace std;

void compute_coins(int coin_value,int number,int amount_left){

if(amount_left = coin_value)

compute_coins(coin_value, ++number, amount_left -= coin_value);

else{

cout coin_value “:” number endl;

number = 0;

switch(coin_value){

case 25:

compute_coins(10, number, amount_left);

break;

case 10:

compute_coins(5, number, amount_left);

break;

case 5:

compute_coins(1, number, amount_left);

break;

}

}

}

int main()

{

int n;

cin n;

int number = 0;

compute_coins(25, number, n);

}

//下面是C語言的,更直觀,不需要引用

#include stdio.h

void compute_coins(int coin_value,int number,int amount_left){

if(amount_left = coin_value)

compute_coins(coin_value, number+1, amount_left-coin_value);

else{

printf(“%d : %d\n”, coin_value, number);

switch(coin_value){

case 25:

compute_coins(10, 0, amount_left);

break;

case 10:

compute_coins(5, 0, amount_left);

break;

case 5:

compute_coins(1, 0, amount_left);

break;

}

}

}

int main()

{

int n;

printf(“input amount:”);

scanf(“%d”, n);

compute_coins(25, 0, n);

}

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/186116.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-26 21:10
下一篇 2024-11-26 21:10

相關推薦

  • AES加密解密演算法的C語言實現

    AES(Advanced Encryption Standard)是一種對稱加密演算法,可用於對數據進行加密和解密。在本篇文章中,我們將介紹C語言中如何實現AES演算法,並對實現過程進…

    編程 2025-04-29
  • 學習Python對學習C語言有幫助嗎?

    Python和C語言是兩種非常受歡迎的編程語言,在程序開發中都扮演著非常重要的角色。那麼,學習Python對學習C語言有幫助嗎?答案是肯定的。在本文中,我們將從多個角度探討Pyth…

    編程 2025-04-29
  • Python被稱為膠水語言

    Python作為一種跨平台的解釋性高級語言,最大的特點是被稱為”膠水語言”。 一、簡單易學 Python的語法簡單易學,更加人性化,這使得它成為了初學者的入…

    編程 2025-04-29
  • OpenJudge答案1.6的C語言實現

    本文將從多個方面詳細闡述OpenJudge答案1.6在C語言中的實現方法,幫助初學者更好地學習和理解。 一、需求概述 OpenJudge答案1.6的要求是,輸入兩個整數a和b,輸出…

    編程 2025-04-29
  • Python按位運算符和C語言

    本文將從多個方面詳細闡述Python按位運算符和C語言的相關內容,並給出相應的代碼示例。 一、概述 Python是一種動態的、面向對象的編程語言,其按位運算符是用於按位操作的運算符…

    編程 2025-04-29
  • Python語言由荷蘭人為中心的全能編程開發工程師

    Python語言是一種高級語言,很多編程開發工程師都喜歡使用Python語言進行開發。Python語言的創始人是荷蘭人Guido van Rossum,他在1989年聖誕節期間開始…

    編程 2025-04-28
  • Python語言設計基礎第2版PDF

    Python語言設計基礎第2版PDF是一本介紹Python編程語言的經典教材。本篇文章將從多個方面對該教材進行詳細的闡述和介紹。 一、基礎知識 本教材中介紹了Python編程語言的…

    編程 2025-04-28
  • Python語言實現人名最多數統計

    本文將從幾個方面詳細介紹Python語言實現人名最多數統計的方法和應用。 一、Python實現人名最多數統計的基礎 1、首先,我們需要了解Python語言的一些基礎知識,如列表、字…

    編程 2025-04-28
  • Python作為中心語言,在編程中取代C語言的優勢和挑戰

    Python一直以其簡單易懂的語法和高效的編碼環境而著名。然而,它最近的發展趨勢表明Python的使用範圍已經從腳本語言擴展到了從Web應用到機器學習等廣泛的開發領域。與此同時,C…

    編程 2025-04-28
  • Python基礎語言

    Python作為一種高級編程語言擁有簡潔優雅的語法。在本文中,我們將從多個方面探究Python基礎語言的特點以及使用技巧。 一、數據類型 Python基礎數據類型包括整數、浮點數、…

    編程 2025-04-28

發表回復

登錄後才能評論