当前位置:首页 » 编程语言 » 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