如何用C语言编程实现货币找零功能?
时间: 2024-11-09 08:18:23 浏览: 11
自动售货机的C语言程序实现
4星 · 用户满意度95%
在C语言中实现货币找零功能,通常涉及到处理硬币种类(如1元、5角、1角等)以及用户输入的总金额。以下是一个简单的示例,展示了如何通过数组或结构体存储硬币,然后计算出最少的硬币组合来完成找零:
```c
#include <stdio.h>
// 定义硬币结构体
typedef struct {
int value; // 硬币面额
int count; // 硬币数量
} Coin;
// 初始化硬币数组
Coin coins[] = { {100, 1}, {50, 1}, {10, 1}, {5, 1}, {1, 1} }; // 代表100元、50元、10元、5元和1元
// 计算找零最小组合
void calculateChange(int total) {
for (int i = 0; i < sizeof(coins) / sizeof(Coin); ++i) {
while (total >= coins[i].value) {
total -= coins[i].value;
coins[i].count++;
}
}
}
// 输出找零结果
void printCoins() {
printf("找零方案:\n");
for (int i = 0; i < sizeof(coins) / sizeof(Coin); ++i) {
if (coins[i].count > 0) {
printf("%d元 %d枚\n", coins[i].value, coins[i].count);
}
}
}
int main() {
int totalAmount;
printf("请输入总金额: ");
scanf("%d", &totalAmount);
calculateChange(totalAmount);
printCoins();
return 0;
}
```
在这个例子中,用户输入总金额,程序会找到最少数量的硬币组合来完成找零,并打印出找零的具体方案。
阅读全文