第3周-项目4-换分币

来源:互联网 发布:淘宝今日销量 编辑:程序博客网 时间:2024/05/01 16:18

问题及代码:

<pre class="cpp" name="code">/**Copyright (c)2016,烟台大学计算机与控制工程学院*All rights reserved.*文件名称:main.cpp*作    者:王艺霖*完成日期:2016年3月13日*版 本 号:v1.0**问题描述:用一元人民币兑换成1分、2分、5分硬币,有多少种不同的兑换方法?请输出所有可能的方案。*提示:根据题意设i,j,k分别为兑换的1分、2分、5分硬币的枚数,则,j,k的值应满足:i+j*2+k*5=100,根据取值范围构造循环解题即可。**输入描述:无输入*输出描述:输出1分、2分、5分硬币的枚数所有情况。*/#include<iostream>using namespace std;int main(){    int i,j,k;    for(k=20;k>=0;k--)    {        for(i=0,j=0;i<=100,j<=50;i++,j++)        {            if(5*k+i+2*j==100)                cout<<"1分硬币枚数:"<<i<<"  "<<"2分硬币枚数:"<<j<<"  "<<"5分硬币枚数:"<<k<<endl;        }    }     for(i=100;i>=0;i--)    {        for(k=0,j=0;k<=20,j<=50;k++,j++)        {            if(5*k+i+2*j==100)                cout<<"1分硬币枚数:"<<i<<"  "<<"2分硬币枚数:"<<j<<"  "<<"5分硬币枚数:"<<k<<endl;        }    }     for(j=50;j>=0;j--)    {        for(i=0,k=0;i<=100,k<=20;i++,k++)        {            if(5*k+i+2*j==100)                cout<<"1分硬币枚数:"<<i<<"  "<<"2分硬币枚数:"<<j<<"  "<<"5分硬币枚数:"<<k<<endl;        }    }    return 0;}


运行结果:

知识点总结:

穷举法,构造循环结构

学习心得:

利用循环一切都变简单!

0 0
原创粉丝点击