iOS-C_Day13___字符串练习

2015.2.4

#include <stdio.h>

//"hello:,:,:world:qian:feng"

//char *my_strtok(char *string, const char *demi)

//{

//    static char *token;

//    char *str;

//    if (string) {

//        str = string;

//    }

//    else

//    {

//        str = token;

//    }

//

//    while (*str) {

//        if (strchr(demi, *str)) {

//            str++;

//        }

//        else

//        {

//            break;

//        }

//    }

//    string  = str;

//

//    while (*str) {

//        if (strchr(demi, *str)) {

//            *str++ = ‘\0‘;

//            break;

//        }

//        str++;

//    }

//    token = str;

//

//    if (str==string) {

//        return NULL;

//    }

//    return string;

//}

//int main(int argc,const char *argv[])

//{

//    char str[100]="hello:,world:qian:feng";

//    char *pstr = str;

//    while ((pstr = my_strtok(pstr, ":,"))) {

//        printf("%s\n",pstr);

//        pstr = NULL;

//    }

//    return 0;

//}

//字符串排序。比较三个字符串的大小,然后按从小到大的顺序将字符串输出。

//比如:

//输入

//asdfwd

//ddrwf

//ffweff

//输出为

//asdfwd

//ddrwf

//ffweff

//

//输入

//sgfgeasdfw

//aabbe

//wrwwdfaf

//输出为

//aabbe

//sgfgeasdfw

//wrwwdfaf

/*#include <stdlib.h>

#include <string.h>

int main(int argc,const char *argv[])

{

char *pstr[10]={NULL};

int cnt = 0;

for (int i=0; i<10; i++) {

pstr[i] = calloc(100, 1);

if (!pstr[i]) {

return -1;

}

scanf("%s",pstr[i]);

cnt++;

if (getchar()==‘\n‘) {

break;

}

}

//排序指针数组

for (int i=0; i<cnt-1; i++) {

for (int j=0; j<cnt-i-1; j++) {

if (strcmp(pstr[j],pstr[j+1])>0) {

char *temp = pstr[j];

pstr[j]=pstr[j+1];

pstr[j+1]=temp;

}

}

}

//打印输出

for (int i=0; i<cnt; i++) {

printf("%s\n",pstr[i]);

}

return 0;

}

*/

//字符串原地压缩。题目描述:“eeeeeaaaff" 压缩为 "e5a3f2"。

//字符串压缩算法,把s字符串压缩处理后结果保存在res中

//

//比如:

//输入

//"aaaaeefggg"

//输出为

//a4e2f1g3

//

//输入

//hhfhhhhfm

//输出为

//h2f1h4h2

/*int main(int argc,const char *argv[])

{

char str[100]={};

char buf[100]={};

scanf("%s", str);

char *pstr = str;

int cnt = 1;

int len=0;

while (*pstr) {

if (*pstr==*(pstr+1)) {

cnt++;

}

else

{

len+=sprintf(buf+len, "%c%d",*pstr,cnt);

cnt=1;

}

pstr++;

}

printf("%s\n", buf);

return 0;

}*/

//字符串原地压缩。题目描述:"e5a3f2" 解压缩为 “eeeeeaaaff"。

//字符串压缩算法,把s字符串压缩处理后结果保存在res中

//

//比如:

//输入

//a4e2f1g3

//输出为

//aaaaeefggg

//

//输入

//h21f1h4h2

//输出为

//hhfhhhhff

#include <ctype.h>

#include <stdlib.h>

/*int main(int argc,const char *argv[])

{

char str[100]={};

char *buf=NULL;

char ch[100]={};

int count[100]={};

char *pstr = str;

scanf("%s",str);

int len=0;

while (*pstr) {

sscanf(pstr, "%c%d",&ch[len],&count[len]);

pstr++;

while (isdigit(*pstr)) {

pstr++;

}

len++;

}

int sum =0;

for (int i=0; i<len; i++) {

sum+=count[i];

}

buf = (char *)malloc(sum);

int cnt=0;

for (int i=0; i<len; i++) {

for (int j=0; j<count[i]; j++) {

buf[cnt++]=ch[i];

}

}

printf("%s\n",buf);

return 0;

}*/

//求一个字符串s的最大连续递增数字子串。

//

//

//比如:

//输入

//f123fffwf3212789:abcd

//输出为

//123

//

//输入

//abcd765bbw1357f123

//输出为

//123

//int main(int argc,const char *argv[])

//{

//    char str[200]={};

//    char *pmax=NULL;

//    int maxLen=0;

//

//    int cnt=0;

//    scanf("%s",str);

//    char *pstr = str;

//

//    while (*pstr) {

//        if (isdigit(*pstr)) {

//            cnt=1;

//            while ((*pstr == *(pstr+1)-1) && isdigit(*(pstr+1))) {

//                cnt++;

//                pstr++;

//            }

//            if (maxLen < cnt) {

//                maxLen = cnt;

//                pmax = pstr-maxLen+1;

//            }

//        }

//        pstr++;

//    }

//    if (pmax) {

//        *(pmax+maxLen)=‘\0‘;

//        printf("%s\n",pmax);

//    }

//    return 0;

//}

//输入一段字符串,把相同的字符按出现顺序,归在一起,并压缩

//比如:

//输入 SamSameCome

//SSamameCome

//SSaammeCome

//SSaammmeCoe

//SSaammmeeCo

//输出:

//SSaammmeeCo

//S2a2m3e2C1o1

//

//输入 ComeTomeTCoe

//输出:

//CCooommeeeTT

//C2o3m2e3T2

#include <string.h>

int main(int argc,const char *argv[])

{

char str[100]={};

scanf("%s",str);

char *pstr = str;

while (*pstr) {

char *ptemp = pstr+1;

for (int i=0; *ptemp; i++) {

if (*pstr == *ptemp) {

memmove(pstr+2, pstr+1, ptemp-pstr-1);

*(pstr+1)=*pstr;

}

ptemp++;

}

pstr++;

}

printf("%s\n",str);

return 0;

}

时间: 2024-11-10 01:18:54

iOS-C_Day13___字符串练习的相关文章

iOS 判断字符串中含有某个字符串rangeOfString

//_roaldSearchText if([roadTitleLab.text rangeOfString:@"格力"].location !=NSNotFound) NSLog(@"yes"); else NSLog(@"no"); iOS 判断字符串中含有某个字符串rangeOfString,布布扣,bubuko.com

ios 判断字符串为空和只为空格解决办法

ios 判断字符串为空和只为空格解决办法- (BOOL)isBlankString:(NSString *)string{ if (string == nil) { return YES; } if (string == NULL) { return YES; } if ([string isKindOfClass:[NSNull class]]) { return YES; } if ([[string stringByTrimmingCharactersInSet:[NSCharacterS

iOS根据字符串计算UITextView高度

iOS计算字符串高度,有需要的朋友可以参考下. 方法一:ios7.0之前适用 /** @method 获取指定宽度width,字体大小fontSize,字符串value的高度 @param value 待计算的字符串 @param fontSize 字体的大小 @param Width 限制字符串显示区域的宽度 @result float 返回的高度 */ - (float) heightForString:(NSString *)value fontSize:(float)fontSize a

ios 常用字符串的操作

//将NSData转化为NSString        NSString* str = [[NSString alloc] initWithData:response encoding:NSUTF8StringEncoding];//将NSString 转化为NSData (NSString.h)- (NSData *)dataUsingEncoding:(NSStringEncoding)encoding; //载一个字符串中删除一个字符或字符串[_display deleteCharacte

iOS依据字符串计算UITextView高度

iOS计算字符串高度,有须要的朋友能够參考下. 方法一:ios7.0之前适用 /** @method 获取指定宽度width,字体大小fontSize,字符串value的高度 @param value 待计算的字符串 @param fontSize 字体的大小 @param Width 限制字符串显示区域的宽度 @result float 返回的高度 */ - (float) heightForString:(NSString *)value fontSize:(float)fontSize a

ios NSString字符串如何转为NSNumber(已解决)

今天同事问我 NSString字符串如何转为NSNumber,思考了一下解决了 思路:先将字符串转为NSInteger类型,再通过NSNumber的创建方法@(数字)即可实现 NSString * str = @"890909"; // 字符串转为NSInteger类型 NSInteger num = [str integerValue]; NSLog(@"%li",num); // 字符串转为NSNumber对象类型 NSNumber * nums = @(num

iOS 获取字符串中的单个字符

要取到单个字符,就要知道字符串的编码方式,这样才能够定位每个字符在内存中的位置.但是,iOS的字符串编码是不固定的,因此,需要设置一个统一的编码格式,将所有其他格式的字符串都转化为统一的格式,然后就可以根据编码规则取到单个字符了.在这里,使用UTF-8编码.UTF-8编码的使用范围比较广泛,客户端与服务器之间传输的数据大多以UTF-8编码. 关于UTF-8的详细说明可以Wiki下:UTF-8. 下图是UTF-8编码的格式: 开发的流程大概是: 将NSString字符串转成UTF-8格式的char

iOS开发 字符串

iOS开发之玩转字符串 (转) 这是另一个收藏的超链接 来自SegmentFault 大神的精品 下面这是一些常用的方法和属性 记得不牢所以收藏下 //一.NSString /*----------------创建字符串的方法----------------*/ //1.创建常量字符串.NSString *astring = @"This is a String!"; //2.创建空字符串,给予赋值.NSString *astring = [[NSString alloc] init]

IOS 时间字符串转换时间戳失败问题

链接:https://pan.baidu.com/s/1nw6VWoD 密码:1peh 有时候获取到的时间带有毫秒数或者是(2018-2-6 11:11:11)格式的(别说你没遇到过,也别什么都让后台转好给你,程序员就是在长跑,短时间内看不出什么,但一年两年后,有的人成了大神,有的人却还是只会切图),这样的字符串在ie11和IOS系统上jquery的getTime()无法将其转为时间戳(谷歌,安卓(华为)可以). 本宝宝致力于高版本IE网站,和移动端H5网页小游戏(比如答题游戏,大转盘等等)开发

ios 替换字符串中的部分字符串

1.使用NSString中的stringByTrimmingCharactersInset:[NSCharacterSet whitespaceCharacterSet]方法去掉左右两边的空格: 2.使用NSString中的stringByReplacingOccurrencesOfString:@"我" withString @"你"],用来把字符串中的所有我替换成你.