博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【编程题目】在字符串中找出连续最长的数字串,并把这个串的长度返回
阅读量:5260 次
发布时间:2019-06-14

本文共 1557 字,大约阅读时间需要 5 分钟。

第 25 题(字符串):

写一个函数,它的原形是 int continumax(char *outputstr,char *intputstr)
功能:
在字符串中找出连续最长的数字串,并把这个串的长度返回,
并把这个最长数字串付给其中一个函数参数 outputstr 所指内存。
例如:"abcd12345ed125ss123456789" 的首地址传给 intputstr 后,函数将返回 9,
outputstr 所指的值为 123456789

 

不难,关键注意outputstr需要传入地址的地址,这样就可以开辟空间并返回了

/*第 25 题(字符串):写一个函数,它的原形是 int continumax(char *outputstr,char *intputstr)功能:在字符串中找出连续最长的数字串,并把这个串的长度返回,并把这个最长数字串付给其中一个函数参数 outputstr 所指内存。例如:"abcd12345ed125ss123456789" 的首地址传给 intputstr 后,函数将返回 9, 17outputstr 所指的值为 123456789start time = 16:11end time = 16:40*/#include 
#include
#include
int continumax(char *outputstr,char *intputstr){ int maxlen = 0; int len = 0; char * maxstart = NULL; char * start = NULL; while(*intputstr != '\0') { if(*intputstr >= '0' && *intputstr <= '9') { if(len == 0) { start = intputstr; } len++; } else { maxstart = (len > maxlen) ? start : maxstart; maxlen = (len > maxlen) ? len : maxlen; len = 0; } intputstr++; } maxstart = (len > maxlen) ? start : maxstart; maxlen = (len > maxlen) ? len : maxlen; *(char **)outputstr = (char *)malloc(maxlen * sizeof(char)); memcpy(*(char **)outputstr, maxstart, maxlen * sizeof(char)); return maxlen;}int main(){ char * s = "abcd12345ed125ss123456789"; char * out = NULL; int len = continumax((char *)&out, s); return 0;}

 

转载于:https://www.cnblogs.com/dplearning/p/3975260.html

你可能感兴趣的文章
mysql启动过程
查看>>
应用Python来计算排列中的逆序数个数
查看>>
2017前端面试题总结
查看>>
Http GetPost网络请求
查看>>
SWIFT国际资金清算系统
查看>>
关于拷贝构造函数与赋值构造函数的深刻解析
查看>>
Sping注解:注解和含义
查看>>
站立会议第四天
查看>>
用原生JS获取非行间样式
查看>>
toolbox类
查看>>
如何快速掌握一门技术
查看>>
利用AMPScript获取Uber用户数据的访问权限
查看>>
vagrant 同时设置多个同步目录
查看>>
python接口自动化28-requests-html爬虫框架
查看>>
爬虫学习笔记(一)初识爬虫
查看>>
生成随机数的模板
查看>>
SpringMVC文件上传
查看>>
hdu 2093
查看>>
纸上谈兵: 树, 二叉树, 二叉搜索树[转]
查看>>
Mysql 数据库操作
查看>>