题目:输入正数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;
}