5>利用分类实现两个方法 第一个:计算某个字符串中英文字母的个数 #import “NSString + Number.h” @implementation NSString (Number) -(int)numberCount { int count =0; for(int i=0; i<self.length; i++) { //取出i这个位置对应的字符 unichar c=[self characteAtIndex:i]; if((c>=’a’&&c<=’z’)||(c>=’A’&&c<=’Z’)) { count++; } return count; } 第二个:实现字符串的反转 @implementation NSString (Reverse) -(NSString *)reverseOfString { //定义一个可变字符串 NSMutableString *str = [NSMutableStringstring]; //按倒序遍历字符串 for(int i=(int)self.length-1; i>=0; i--) { //按倒序获取每个字符串的range NSRange range =NSMakeRange( i,1); //将每个字符按照它的range截取下来,并保存在不可变字符串s中 NSString *s = [self substringWithRange:range]; //将每个单字符的字符串s拼接到可变字符串str中 [str appendString: s]; }return str; } 7》多个字符串排序:char *name[]={“china”,”america”,”australia”}; #include<stdio.h> #include<string.h> void sort_string(char *name[], int len) { int min; for(int i=0; i<len-1; i++) { min =i ; //假设一个最小值 for(int j=i+1; j<len ; j++) { //比较大小 if(strcmp(name[j],name[min])<0) { min=j; } } //交换(地址交换) if(i!=min) { char *temp; temp = name; name=name[min]; name[min]=temp; } } 8>编写一个函数,找出整数数组的最小值 int findMin(int *a,int n) //n为个数 { int i,min=a[0]; for(i=0;i<n;i++) { if(min>a) { min=a; } return min; } 9>编写一个程序,用于接收从终端输入的整数,提取并用英文显示这个数的每一位数,例如输入112,输出one one two //定义一个变量初始化为0,用于保存用户输入的整数 int input =0; //提示用户输入一个整数 NSLog(@”请输入一个整数”); //接收用户输入的整数,并保存在input中 scanf(“%d”,&input); //将用户输入的整数转换成字符串对象,并保存于inStr中 NSString*inStr=[NSString stringWithFormat:@”%i”,input] //设置一个不可变的英文数组 NSArray*engArray=@[@”Zero”,@”Two”…]; //设置一个可变的字符串用于存放处理的结果 NSMutableString*engOutArray=[NSMutableString string]; //开始遍历 for(inti=0;i<inStr.length;i++) { //取出字符串对象中得每一个字符,并转换成整型数据 intdex=((int)[inStr characterAtIndex:i])-48; //根据整型数据,从英文数组中取出对应的英文单词,并存放于可变字符串中 [engOutArrayappendString: engArray[dex]]; //存放英文单词后,加入一个空格 [engOutArrayappendString:@“”]; } //遍历结束,输出结果 NSLog(@”处理结果为:%@”,engOutArray); 10>
|