本帖最后由 donkey2 于 2014-11-15 10:07 编辑
/* 如果要将整钱换成零钱,那么一元钱可兑换成一角、两角、五角,问有多少种兑换方式 */
/* 只有一种币值时, 1 = 0.1 * 10 1种 1 = 0.2 * 5(0.2 = 0.1 * 2) 2*5种 1 = 0.5 * 2 (0.5 = 0.1*5 = 0.1*3 + 0.2 = 0.2*2 + 0.1) 2*3种 有两种币值时,第一种:1角和2角 1 =
*/
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) { @autoreleasepool { // insert code here... // NSLog(@"Hello, World!"); // 定义3种币值的数量,范围大于等于0 int no1; int no2; int no5; int count; for (no2 = 5; no2 >= 0; no2--) { for (no1 = 10; no1 >= 0; no1--) { for (no5 = 2; no5 >= 0; no5--) { if (1 == no1 * 0.1 + no2 * 0.2 + no5 * 0.5 ) { NSLog(@"一角,二角,五角的数量分别为:%i,%i,%i",no1,no2,no5); count++; } } }
} NSLog(@"兑换方式有%i种",count);
return 0; } }注意的问题:
1. 遍历的话都要使用循环结构
2. 多个元素遍历的话要使用嵌套循环
3. 嵌套的顺序不是重点,都会遍历到,只是执行的先后不同而已。
4. 注意兑换方式的打印,在三个for循环的外面,以免重复打印。
|