一些ios基础题目

/*
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.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值