-
算法描述其实是省略了要求,用户肯定是要输入员工数以及各位员工的工资
定义:
n位员工,G[n]对应了第n员工的工资
-
a数组存放100元到1元的面值,a[0]=100,a[1]=50...
-
b数组对应每个面值的张数,b[0]对应100元的张数,b[1]对应50元的张数...
-
采用贪心策略,每次取最大面值
#include <iostream> #include <xmath.h> #include <algorithm> #include <stdio.h> using namespace std; int main(){ int n; printf("输入员工数n:"); scanf("%d",&n); printf("依次输入员工的工资"); int G[n]; for(int i=0;i<n;i++){ scanf("%d",&G[i]); } int sumG = 0;//计算全体员工工资总和,便于之后的验证 int sum = 0; for(int i=0;i<n;i++){ sumG = sumG + G[i]; } int a[] = {100,50,20,10,5,2,1};//7个面值不同币种 int m=sizeof(a)/sizeof (a[0]); int b[m] ;//存放个面值对应的张数 for(int i=0;i&l
用贪心法构造货币统计问题(币种统计)
![](https://img-home.csdnimg.cn/images/20240711042549.png)