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