當前位置:首頁 » 編程語言 » C語言找零

C語言找零

發布時間: 2025-01-04 17:11:29

c語言題小李是超市收銀員,每次顧客付錢都要找零,求在目前紙幣面額下(1角,

為了找零時能夠保證紙幣張數最少,我們需要先定義好紙幣的面額,然後通過不斷減去紙幣面額的方式來計算需要找零的張數。以下是一個示常式序,實現了對於任意的零錢找零,找零所需的紙幣張數最少:

c
Copy code
#include <stdio.h>

int main() {
int money[] = {100, 50, 20, 10, 5, 1}; // 紙幣面額
int n = sizeof(money) / sizeof(int); // 紙幣面額個數
int change, i, cnt = 0; // 需要找的零錢、循環變數、紙幣張數

printf("請輸入找零金額(元):");
scanf("%d", &change); // 輸入需要找零的金額

change *= 10; // 轉換為以角為單位的整數金額
for (i = 0; i < n; i++) {
cnt += change / money[i]; // 計算需要找的張數
change = change % money[i]; // 計算剩餘的零錢
}

printf("需要找零%d張紙幣\n", cnt); // 輸出紙幣張數

return 0;
}
在上述代碼中,我們先定義了紙幣面額數組 money,然後通過 sizeof 函數計算出紙幣面額的個數 n。接下來,通過輸入需要找零的金額 change,將其轉換為以角為單位的整數金額。之後,使用循環遍歷紙幣面額數組,計算出需要找的張數,並用取余運算計算出剩餘的零錢。最後,輸出計算出的紙幣張數即可

㈡ 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語言,貪心演算法,貨幣找零問題

貪心演算法找零就是現實中從最大面額開始找的思路。不代表是最優解,只是演算法之一。

由於面額輸入順序不定,我先對輸入的面額進行降序排序。

下面代碼:

#include <stdio.h>

#include <malloc.h>

int main()

{

int i,j,m,n,*ns=NULL,*cn=NULL,sum=0;

printf("請輸入總金額m及零錢種類n:"),scanf("%d",&m),scanf("%d",&n);

printf("請分別輸入%d種零錢的面額: ",n);

if(!(ns=(int *)malloc(sizeof(int)*n))) return 1;

if(!(cn=(int *)malloc(sizeof(int)*n))) return 1;

for(i=0;i<n;i++) scanf("%d",&ns[i]);

//------------考慮輸入面額順序不定,先對面額進行降序排列(如按照降序輸入,該段可刪除)

for(i=0;i<n;i++)

for(j=i+1;j<n;j++)

if(ns[j]>ns[i]) ns[j]^=ns[i],ns[i]^=ns[j],ns[j]^=ns[i];

//-------------------------------------------------------------------

for(i=0;i<n;i++)//貪心演算法,從最大面額開始

if(m>=ns[i])

cn[i]=m/ns[i],m=m%ns[i],sum+=cn[i],printf("%d元%d張 ",ns[i],cn[i]);

printf(" 最少使用零錢%d張 ",sum);

return 0;

}

熱點內容
伺服器cpu16c是什麼意思 發布:2025-01-06 18:33:16 瀏覽:682
python教程電子書下載 發布:2025-01-06 18:24:00 瀏覽:465
無機晶體資料庫 發布:2025-01-06 18:05:20 瀏覽:542
壓縮空氣站 發布:2025-01-06 18:01:23 瀏覽:12
3dmax把兩個文件夾 發布:2025-01-06 17:59:17 瀏覽:321
資料庫系統的應用使數據與程序 發布:2025-01-06 17:59:08 瀏覽:683
安卓系統跟蹤記錄文件怎麼加入 發布:2025-01-06 17:58:33 瀏覽:477
初中信息編程 發布:2025-01-06 17:54:14 瀏覽:271
js是編譯還是逐行 發布:2025-01-06 17:53:37 瀏覽:531
html5讀取本地文件夾 發布:2025-01-06 17:47:54 瀏覽:634