C语言贪心算法,关于零钱取整问题

#include<stdio.h>
void greedyMoney(int m[],int k,int n);
int main(void)
{
  int money[] = {50,20,10,5,2,1};
  int k;
  k = sizeof(money)/sizeof(money[0]);
  greedyMoney(money,k,125);
  //system("PAUSE");
}/* * m[]:存放可供找零的面值,降序排列 * k:可供找零的面值种类数 * n:需要找零数 */


void greedyMoney(int m[],int k,int n)
{
   int i;
   for(i=0;i<k;i++)
   {
      while(n>=m[i] && n>0)
      {
          printf("%d.",m[i]);
          n = n-m[i];
      }
   }
   printf("\n");

}

另外一种精简形式易懂的:

#include<stdio.h>
int main(){
    int money;
    printf("请输入你要找回的零钱总数:"); 
    scanf("%d",&money);
    printf("5分的硬币个数:%d\n2分的硬币个数:%d\n1分的硬币个数:%d",money/5,money%5/2,money%5%2);

}

《C语言贪心算法,关于零钱取整问题》

    原文作者:贪心算法
    原文地址: https://blog.csdn.net/yuleidnf/article/details/50510991
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞