一些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.
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章