A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© donkey2 中级黑马   /  2014-11-12 11:19  /  758 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 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循环的外面,以免重复打印。

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马