永发信息网

、输入一个正整数m,它代表一个人民币钱数(元数)。求取这样一个方案,使用最少张数的人民币纸币,凑成上

答案:1  悬赏:60  手机版
解决时间 2021-01-30 12:45
、输入一个正整数m,它代表一个人民币钱数(元数)。求取这样一个方案,使用最少张数的人民币纸币,凑成上述的钱数m。
注:共有七种元以上面值的人民币纸币,分别为:100,50,20,10,5,2,1。假设输入数据为196时,则最少要用6张人民币纸币:196 = 1*100 + 1*50 + 2*20 + 1*5 + 1*1。当输入数据为908时,则最少要用12张人民币纸币:908 = 9*100 + 1*5 + 1*2 + 1*1。
可设计一个程序,使执行后的屏幕显示结果具有如下形式:
Input a positive integer: 196<回车>
196 (yuan) = 1*100 + 1*50 + 2*20 + 1*5 + 1*1 (yuan)
total_sheet = 6
最佳答案
#include

using namespace std;

const int n = 7;
const int a[] = {100, 50, 20, 10, 5, 2, 1};

int main()
{
int num[n];
int sum=0;
int ts=0;

cout<<"Input a positive integer: ";
cin>>sum;
while(sum <= 0) {
cout<<"The number is not positive, please input a positive integer: ";
cin>>sum;
}

for (int i=0, res=sum; i num[i] = res/a[i];
res -= num[i]*a[i];
ts += num[i];
}
cout< bool start = true;
for (int i=0; i if (num[i] != 0) {
if (start) {
cout<<" = ";
start = false;
} else {
cout<<" + ";
}
cout< }
}
cout<<" (yuan)"<
cout<<"total_sheet = "<
return 0;
}

编译、链接、运行程序,输入与输出如下:
:!g++ -Wall sheet.cpp -o sheet
:! ./sheet
Input a positive integer: 196
196 (yuan) = 1*100 + 1*50 + 2*20 + 1*5 + 1*1 (yuan)
total_sheet = 6

:! ./sheet
Input a positive integer: 908
908 (yuan) = 9*100 + 1*5 + 1*2 + 1*1 (yuan)
total_sheet = 12
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
一理就发地址在哪,我要去那里办事
温诏的意思是什么啊?知道的请说下!
地字开头的四字成语有哪些
孩子的抚养费怎么算
【史湘云判词】解释一下史湘云的判词
最近在韩国传得很火的牙膏牙粉是什么叫什么名
一剪梅专业理容地址在什么地方,想过去办事
鸠子的意思是什么啊?知道的请说下!
饥荒Steam版MOD怎么安装 饥荒Steam版安装MOD
预制构件起吊不采用吊架时,绳索与构件水平面
我们为什么要骑行
哈弗h2到底怎么样
我问一个女孩几次照片她都不给,然后我过几次
玉瓯的意思是什么啊?知道的请说下!
空气尘埃的粒子数和质量之间怎么转换,单位从
推荐资讯
下列结构图中,(  )一般通过树状图的方式
想在永州冷水滩买台瑞奇电取暖桌,谁能告诉我
暗黑2 为什么我建的主机别人能进我却进不了
2016年山西省美术联考色彩桌布没画格子扣多少
谁懂电化学去除零件表面碳化钨层?
雷神游戏本和苹果笔记本哪个玩游戏好像狙击手
中国建设银行24小时自助银行(装修中)(新凤中
襄阳米公路与大庆路路口怎么每次开车走到那都
五藏神的意思是什么啊?知道的请说下!
听说激光狂热者要改版了 附加百分之10光属性
学生如何提高自身价值
默示的意思是什么啊?知道的请说下!
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?