/*
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.