赞
踩
#include <stdio.h> double change(double money ) { int i2000, i1000, i100, i10, i1; double mc = money * 100; double r=0; for (i2000 = 0; i2000 <= mc / 2000; i2000++)//求20面值最优解 以下循环同理 { r = mc - i2000 * 2000 ; if (r < 2000) break; } for (i1000 = 0; i1000 <= mc / 1000; i1000++) { r = mc - i2000 * 2000 - i1000 * 1000; if (r < 1000) break; } for (i100 = 0; i100 <= mc / 100; i100++) { r = mc - i2000 * 2000 - i1000 * 1000 - i100 * 100; if (r < 100) break; } for (i10 = 0; i10 <= mc / 10; i10++) { r = mc - i2000 * 2000 - i1000 * 1000 - i100 * 100 - i10 * 10; if (r < 10) break; } for (i1 = 0; i1<= mc / 1; i1++) { r = mc - i2000 * 2000 - i1000 * 1000 - i100 * 100 - i10 * 10 - i1 * 1; if (r < 0) break; } printf("20块钱%d张,10块钱%d张,1块钱%d张,1角钱%d张,1分钱%d张", i2000, i1000, i100, i10, i1);//各面值找零次数 return 0; } int main() { change(34.12); return 0; }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。