OC学习 习题

/*1. 输入一段字符串,统计其中的单词个数 (10分)
 比如:传入 @"welcome to qianfeng"  返回:3
 */
- (NSUInteger)countOfWordInString:(NSString *)str ;
/*
 2.将指定字符串逆序(10分)
 比如:传入字符串@"iphone"  返回:@"enohpi"
 传入字符串@"beautiful" 返回:@"lufituaeb"
 */
- (NSString *)reverseString:(NSString *)str;
/*
 3. 把字符串中的字母大小写反转(10分)
 
 //将s中每个字母大写变成小写,小写变成大写,其他字符不动。返回值是修改后的字符串
 
 */
- (NSString *)reversalUpperAndLowerForString:(NSString *)s;

/*
 4. 替换字符串s中从startKey到endKey之间的字符串(10分)
 //将s替换成newString
 */
- (NSString *) replaceString:(NSString *)s betweenStartKey:(NSString* )startKey  andEndKey:(NSString*)endKey toString:(NSString *)newString;

/*
 5. 查找子串出现次数(20分)
 
 // 返回字符串s中出现子串substring的次数
 */
- (NSInteger)countOfSubstring:(NSString *)substring inString:(NSString *)s;
/*
 6.将字符串按照单词进行逆序(20分)
 
 将字符串按照单词进行逆序,空格作为划分单词的唯一条件
 
 如@"Welcome to Beijing" 改为 @"Beijing to Welcome"
 */
- (NSString *) reveseWordsOfString:(NSString *)string;


/*
 7.计算两个字符串所表示数字的乘积(20分)
 传入:@"15"  @"15"
 返回:@"225"
 
 */
-(NSString *)mulOfNumber:(NSString *)string1 andNumber:(NSString *)string2;
/*
 8.用NSLog打印九九乘法表(10分)
 1*1 = 1
 2*1 = 2 2*2 = 4
 3*1 = 3 3*2 = 6 3*3 = 9
 
 */
- (void)print99Table;

/*
 9. 求一个字符串s的最大连续递减数字子串。(20)
 
 比如:
 输入 12345986fffwf3210abcd 输出为 3210
 输入 abcd765bbw135797531f12345 输出为 765
 
 //如果有多个相同的最大数字串那么返回最后一个
 */
- (NSString *)subNumberString:(NSString *)string ;

/*
 10.打印杨辉三角(10分)
 输入 7
 1
 1 1
 1 2  1
 1 3  3  1
 1 4  6  4  1
 1 5 10 10  5 1
 1 6 15 20 15 6 1
 NSLog打印
 
 */

- (void)printYangHuiTriangle:(int) n

/*
 11 传入一段字符串,把相同的字符按出现顺序,归在一起,并压缩(20分)
 
 比如:
 
 输入 SamSameCome
 
 输出:
 
 S2a2m3e2C1o1
 
 返回值为压缩后的结果,比如S2a2m3e2C1o1
 */
- (NSString *)compressString:(NSString *)s

/*
 12 根据输入的内容用NSLog打印出菱形(10分)
 */
//count 表示正方形边长

//flagString 组成菱形的边

//blankString 组成背景正方形

//比如 [class print:5 blankString:@“+”flagString:@“#”];
/*
 + + # + +
 
 + # + # +
 
 # + + + #
 
 + # + # +
 
 + + # + +
 */

-(void)print:(NSInteger)count blankString:(NSString*)blankString flagString:(NSString*)flagString;

/*
 13.
 编写一个函数,打印下述图形,纪念佐罗先生(20分)
 传入:F
 打印:
 ABCDEF
     E
    D
   C
  B
 ABCDEF
 
 */
- (void)printZorroSignForCharacter:(unichar)c;

/*
 1.对称的数组(10分)
 
 传入一个数组,其元素类型与个数皆未知,返回新数组,由原数组的元素正序反序拼接而成。
 
 //参数arr 表示原数组地址
 
 //返回值是新数组的地址
 
 传入:@[@"one", @"Two", @"Three"]
 
 返回:@[@"one", @"Two", @"Three", @"Three", @"Two", @"one"]

 */

-(NSArray *)symmetryArray:(NSArray *)arr;

/*
 2.找出数组中最长的字符串(10分)
 
 数组中的元素都是字符串,返回其中最长字符串的地址
 */
-(NSString *)longestStringInArray:(NSArray *)arr;

/*
 3.将字符串后移(10分)
 将字符串向右移动指定位数,首尾循环
 
 如:string传入@"welcometoqianfeng", bits传入4
 
 返回:@"fengwelcometoqian"
 */

-(NSString *)displacemetString:(NSString *)string forBits:(NSUInteger)bits

/*
 4.找出出现最多的字母 (10分)
 找出字符串中出现次数最多的字母,将该字母和字母出现的次数拼接成一个新字符串
 返回新字符串。
 
 传入:@"WelcomeToQianfeng"
 
 返回:@"e3"
 */
- (NSString *)maxTimesCharacterOfString:(NSString *)string


/*
 5.将字符中单词用空格隔开(20分)
 已知传入的字符串中只有字母,每个单词的首字母大写,请将每个单词用空格隔开
 只保留第一个单词的首字母大写
 
 传入:@"HelloMyWorld"
 
 返回:@"Hello my world"
 */

- (NSString *)separateString:(NSString *)string

/*
 6.字符串交错穿插(20分)
 已知两个字符串只由字母和空格组成,但两个字符串中包含的单词数不一定相等
 将两个字符串中的单词交错拼接到一起,当其中一个字符串的单词用尽,另一个
 字符串中剩余单词自然拼接在后面
 
 传中:@"Welcome to qianfeng"  @"hello my dear world"
 
 返回:@"Welcome hello to my qianfeng dear world"
 */
-(NSString *)staggerString:(NSString *)string1 withString:(NSString *)string2


/*
 7 //根据输入的内容打印(20分)
 
 //比如 [class print:5 blankString:@"+" flagString:@"#"];
 
 + + # + +
 
 + # + # +
 
 # + + + #
 
 + # + # +
 
 + + # + +
 
 */
+(void)print:(NSInteger)count blankString:(NSString*)blankString flagString:(NSString*)flagString

你可能感兴趣的:(Objective-C)