第3周项目4

代码:

/*
*Copyright (c) 2016, 烟台大学计算机与控制工程学院
*All rights reserved.
*文件名称:换分币;
*作    者:岳成艳;
*完成日期:2015年5月3号;
*版 本 号:vc++6.0;
*
*问题描述:用一元人民币兑换成1分、2分、5分硬币,有多少种不同的兑换方法?请输出所有可能的方案。
*提示:根据题意设i,j,k分别为兑换的1分、2分、5分硬币的枚数,则,j,k的值应满足:i+j*2+k*5=100,根据取值范围构造循环解题即可。 ;
*程序输入:无;
*程序输出:见运行结果;
*/
#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;
}

运行测试: