c語言換硬幣

2021-10-05 10:06:08 字數 1520 閱讀 7777

7-69 換硬幣 (20分)

將一筆零錢換成5分、2分和1分的硬幣,要求每種硬幣至少有一枚,有幾種不同的換法?

輸入格式:

輸入在一行中給出待換的零錢數額x∈(8,100)。

輸出格式:

要求按5分、2分和1分硬幣的數量依次從大到小的順序,輸出各種換法。每行輸出一種換法,格式為:「fen5:5分硬幣數量, fen2:2分硬幣數量, fen1:1分硬幣數量, total:硬幣總數量」。最後一行輸出「count = 換法個數」。

輸入樣例:

輸出樣例:

fen5:2, fen2:1, fen1:1, total:4

fen5:1, fen2:3, fen1:2, total:6

fen5:1, fen2:2, fen1:4, total:7

fen5:1, fen2:1, fen1:6, total:8

count = 4

#include

intmain()

}}}printf

("count = %d\n"

,count)

;return0;

}

執行結果如下:

13

fen5:

2, fen2:

1, fen1:

1, total:

4fen5:

1, fen2:

3, fen1:

2, total:

6fen5:

1, fen2:

2, fen1:

4, total:

7fen5:

1, fen2:

1, fen1:

6, total:

8count =

4

關鍵之處在於三種硬幣要以從大到小的方式輸出,顯然5分硬幣最多有x/5個,兩分硬幣最多有x/2個,一分硬幣最多有x個,所以這裡要注意。

其實通常我們比較常見的是按從小到大的順序輸出,只需要稍作改變。

#include

intmain()

}}}printf

("count = %d\n"

,count)

;return0;

}

執行結果如下:

13

fen5:

1, fen2:

1, fen1:

6, total:

8fen5:

1, fen2:

2, fen1:

4, total:

7fen5:

1, fen2:

3, fen1:

2, total:

6fen5:

2, fen2:

1, fen1:

1, total:

4count =

4

C語言 習題4 5 換硬幣

將一筆零錢換成5分 2分和1分的硬幣,要求每種硬幣至少有一枚,有幾種不同的換法?輸入格式 輸入在一行中給出待換的零錢數額x 8,100 輸出格式 要求按5分 2分和1分硬幣的數量依次從大到小的順序,輸出各種換法。每行輸出一種換法,格式為 fen5 5分硬幣數量,fen2 2分硬幣數量,fen1 1分...

C語言 習題4 5 換硬幣 20分

將一筆零錢換成5分 2分和1分的硬幣,要求每種硬幣至少有一枚,有幾種不同的換法?輸入在一行中給出待換的零錢數額x 8,100 要求按5分 2分和1分硬幣的數量依次從大到小的順序,輸出各種換法。每行輸出一種換法,格式為 fen5 5分硬幣數量,fen2 2分硬幣數量,fen1 1分硬幣數量,total...

C語言 習題4 5 換硬幣 (20 分 錯誤分析。

將一筆零錢換成5分 2分和1分的硬幣,要求每種硬幣至少有一枚,有幾種不同的換法?輸入在一行中給出待換的零錢數額x 8,100 要求按5分 2分和1分硬幣的數量依次從大到小的順序,輸出各種換法。每行輸出一種換法,格式為 fen5 5分硬幣數量,fen2 2分硬幣數量,fen1 1分硬幣數量,total...