解题思路:
贪心
钱要从大到小取才能取到最小的张数
用两层循环,第一层为每次输入的员工,第二层为员工能选择的钱的面值
注意事项:钱要从大到小排列
参考代码:
#include<bits/stdc++.h> using namespace std; int main() { int n; int a[105]; int b[6]={100,50,10,5,2,1}; int ans=0; while(cin>>n&&n)//多组输入且输入0跳出 { int t=0; for(int i=0;i<n;i++) { cin>>a[i]; } for(int i=0;i<n;i++) { for(int j=0;j<6;j++) { ans=a[i]/b[j];//张数 a[i]=a[i]%b[j];//剩下的钱 t+=ans; } } cout<<t<<endl; } }
0.0分
2 人评分
C语言程序设计教程(第三版)课后习题10.5 (C语言代码)浏览:733 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:669 |
C语言程序设计教程(第三版)课后习题7.2 (C语言代码)浏览:620 |
C语言程序设计教程(第三版)课后习题6.4 (C语言代码)浏览:598 |
C二级辅导-计负均正 (C语言代码)浏览:658 |
【蟠桃记】 (C语言代码)浏览:651 |
【偶数求和】 (C语言代码)浏览:646 |
简单的a+b (C语言代码)浏览:600 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:543 |
C语言程序设计教程(第三版)课后习题8.4 (C语言代码)浏览:529 |