[数组]凑成m元共需几张人民币

题目:输入正数m,代表m元人民币。试求使用最少张数的人民币,凑成上述钱数m,并输出求得结果。每张人民币面值分别为:100,50,20,10,5,2,1。用数组

C++实现:

#include <iostream>
using namespace std;
int main()
{
    int base[7]={100,50,20,10,5,2,1};
    int count[10]={0,0,0,0,0,0,0};
    int m=192;
    //cout<<"m=?";
    //cin>>m;
    int k=0;
    for(int i=0;i<7;i++)
    {
        if(m>=base[i])
        {
            count[i]=m/base[i];
            m=m%base[i];
            k+=count[i];
        }
        
    }
    cout<<count[0]<<"(100) "<<count[1]<<"(50) "<<count[2]<<"(20) ";
    cout<<count[3]<<"(10) "<<count[4]<<"(5) "<<count[5]<<"(2) "<<count[6]<<"(1) "<<endl;
    cout<<k<<endl;
    return 0;
}

猜你喜欢

转载自blog.csdn.net/JannyYang/article/details/88734671