您的位置:首页 > 移动开发 > IOS开发

一些ios基础题目

2016-08-05 14:37 741 查看
/*

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

 */

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {

    

    //1.提醒用户输入整数,并声明一个整型变量,用于存放用户输入的整数

    NSLog(@"请输入一个整数:");

    int num = 0;

    scanf("%d",&num);

    //2.创建原数组

    NSMutableArray *array = [NSMutableArray arrayWithArray:@[@1,@3,@5,@7,@9]];

    //3.寻找该数字应放入原数组的位置

    int numIndex = -1; //声明一个整型变量用于存放输入的整数应存放的位置

    int count = (int)[array count]; // array数组的长度

    NSNumber *theNum = [NSNumber numberWithInt:num]; //将输入的数字包装成对象

    for(int i = 0;i < count;i++){

        // 将输入的数字与原数组数字进行大小比较

        if([theNum compare:array[i]] <= 0){

            numIndex = i;

            break;

        }

    }

    //若比原数组所有数组都大,则插入到最后

    if(numIndex == -1){

        numIndex = count;

    }

    //4.插入该数字

    [array insertObject:theNum atIndex:numIndex];

    //5.输出现有数组

    NSLog(@"现在数组为:%@",array);

    

    return 0;

}

/*

2、编写一个程序,用于接受从终端输入的整数,提取并用英文显示这个数的每一位数。例如输入112 输出 One One Two。(Objective-C)

 */

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {

  

    //1.创建一个字符数组,用于接收从终端输入的整数

    char inNum[200];

    

    //2.创建一个NSArray对象来存放十个英语单词

    NSArray *english = @[@"zero",

                         @"one",

                         @"two",

                         @"three",

                         @"four",

                         @"five",

                         @"six",

                         @"seven",

                         @"eight",

                         @"night"];

    

    //3.创建一个可变字符串,用于存放将要输出的英文

    NSMutableString *engNum = [NSMutableString new];

    

    //4.接收输入的整数

    NSLog(@"请输入一些整数:");

    fgets(inNum, 200, stdin);

    

    //5.判断输入的最后一位是否为换行符,如果是,就替换为'\0'

    int len = (int)strlen(inNum);

    if(inNum[len-1] == '\n'){

        inNum[len-1] = '\0';

    }

   

    //6.对用户输入的字符数组进行遍历,并判断该替换为什么英文

    int i = 0;

    while(inNum[i] != '\0'){

        //利用字符的ASCII码进行计算得到所应替换英语单词的位置

        int engIndex = inNum[i] - 48;

        [engNum appendFormat:@"%@ ",english[engIndex]];

        i++;

    }

    

    //7.对英文进行输出

    NSLog(@"输入数字对应的英文为:%@",engNum);

    

    

    return 0;

}

3.遍历NSArray的方法

        //1.for循环

        NSArray *arr = @[@"one",@"two"];

        int len = (int)arr.count;

        for(int i = 0;i < len;i++){

            NSLog(@"arr[%d] = %@",i,arr[i]);

        }

        //2.for in

        for(id temp in arr){

            NSLog(@"%@",temp);

        }

        //3.block

        [arr enumerateObjectsUsingBlock:^(id  _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {

            NSLog(@"arr[%lu] = %@",idx,obj);

        }];

4.//NSDictionary遍历

        //1.

        NSDictionary *dic = @{@"name":@"jack",@"age":@"12",@"country":@"china"};

        for(id key in dic){

            id value = [dic objectForKey:key];

            NSLog(@"%@ = %@",key,value);

        }

        //2.

        [dic enumerateKeysAndObjectsUsingBlock:^(id  _Nonnull key, id  _Nonnull obj, BOOL * _Nonnull stop) {

            NSLog(@"%@ = %@",key,obj);

        }];

5.字符串反转功能

-(NSString *)reverseString{

    

    NSMutableString *newStr = [NSMutableString new];

    int len = (int)self.length;

    for (int i = len - 1; i >= 0; i--) {

        NSRange range = NSMakeRange(i, 1);

        NSString *temp = [self substringWithRange:range];

        [newStr appendString:temp];

    }

    return newStr;

    

}

6.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: