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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© kfz0507 中级黑马   /  2017-6-12 22:53  /  1916 人查看  /  2 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

10. 现在有一个有序的数组,要求用户输入一个整数放到数组中还保证这个数组是有序的。例如原数组为@[@1,@3,@5,@7,@9]; 插入8之后为@[@1,@3,@5,@7,@8,@9];


#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        //先定义一个字符串,将原先的几个字符加入到里边去
        NSMutableArray *arry = [NSMutableArray arrayWithObjects:@1,@3,@5,@7,@8,@9, nil];
        
        long count=arry.count;
        
        //提示用户输入一个数
        printf("请输入一个数:\n");
        //定义变量接收并保存
        int input;
        scanf("%d",&input);
        
        //将输入的数包装成oc对象
        NSNumber *num = [NSNumber numberWithInt:input];
     
        //将输入的数和数组中的数作比较
        for (int i=0; i<count; i++) {
            
            //输入的数小余或者等于里边的数,就放到那几个数的前边
            if ([num compare:arry[i]]<=0) {
                [arry insertObject:num atIndex:i];
                //添加了一次立马跳出
                break;
            }
        }
        
        //输入的数大于里边的数,就放到后边
        if (arry.count==count) {
            [arry addObject:num];
        }
        NSLog(@"%@",arry);
        
    }
    return 0;
}

评分

参与人数 1黑马币 +5 收起 理由
zhao543 + 5 很给力!

查看全部评分

2 个回复

倒序浏览
谢谢啊 土豪 一下给5个黑马币.
回复 使用道具 举报
kfz0507 发表于 2017-6-12 23:02
谢谢啊 土豪 一下给5个黑马币.

希望能一起交流学习
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马