顺序结构——人民币兑换"/>
顺序结构——人民币兑换
【问题描述】
输入一个人民币的整数值(100以内以元为单位),编程找到用10元、5元、2元、1元表示的总数量的最小组合方式。
【输入形式】
从控制台输入一个整数值,表示以元为单位的人民币币值。
【输出形式】
向控制台输出四个整数(以空格分隔),分别表示兑换成的10元、5元、2元、1元人民币的数量,若没有某个币值,则对应输出0。
【样例1输入】
98
【样例1输出】
9 1 1 1
【样例1说明】
输入为98,表示98元人民币,把其兑换成10元、5元、2元、1元表示的总数量的最小组合方式为:9个10元,1个5元,1个2元,1个1元,故输出:9
1 1 1【样例2输入】
11
【样例2输出】
1 0 0 1
【样例2说明】
输入为11,表示11元人民币,把其兑换成10元、5元、2元、1元表示的总数量的最小组合方式为:1个10元,1个1元,没有5元和2元,故输出:1 0 0 1
解析:
此题目比较简单,只是涉及简单的运算。
代码
#include<iostream>
using namespace std;
int main()
{int m;cin>>m;cout<<m/10<<" ";m%=10;cout<<m/5<<" ";m%=5;cout<<m/2<<" ";m%=2;cout<<m;
}
但是有人不讲武德,所以我就把涉及后面知识点的几种代码也放上来。
#include<iostream>
using namespace std;
int main()
{int m;cin>>m;for(int i=10;i>=1;i/=2){cout<<m/i<<" ";m%=i;}
}
这套代码就需要一定的观察能力。10 5 2 1,每个数字都是前面一个数字整除2得到的。此外,还可以数组和循环并用。
#include<iostream>
using namespace std;
int main()
{int m,a[4]={10,5,2,1};cin>>m;for(int i=0;i<4;i++){cout<<m/a[i]<<" ";m%=a[i];}
}
当然,要注意数字是从零号元素开始的。
更多推荐
顺序结构——人民币兑换
发布评论