博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
基于visual Studio2013解决面试题之0503取最大数字字符串
阅读量:4704 次
发布时间:2019-06-10

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



题目

解决代码及点评

 
 
 
 
/*    在字符串中找出连续最长的数字串,并把这个串的长度返回,并把这个最长数字串付    给其中一个函数参数 outputstr 所指内存。例如: "abcd12345ed125ss123456789"的首地址传给    intputstr 后,函数将返回 9,outputstr 所指的值为 123456789*/#include 
using namespace std;int FindMaxLen(char *pszBuf, char *pszOutPut){ int nMaxLen = 0; // 保存最长长度 int nTmpLen = 0; // 保存目前累计长度 int nTmpPos; // 保存目前累计长度时的位置 int nMaxPos; // 保存最长长度时位置 int i, j; if (pszBuf == NULL) { return 0; } // 遍历整个字符串 for (i = 0; i < strlen(pszBuf); i++) { nTmpLen = 0; // 如果遇到数字 if (pszBuf[i] >= '0' && pszBuf[i] <= '9') { nTmpPos = i; // 记录临时位置 nTmpLen++; // 累加临时长度 i++; while(pszBuf[i] >= '0' && pszBuf[i] <= '9' && i < strlen(pszBuf)) { // 如果符合条件,则临时长度累加 nTmpLen++; // 判断下一个 i++; } // 如果累加的临时长度大于曾经的最大长度,那么要置换最大长度和最大位置 if(nTmpLen > nMaxLen) { nMaxLen = nTmpLen; nMaxPos = nTmpPos; } } } // 将最大数字字符串保存到pszOutPut for (i = nMaxPos, j = 0; i < nMaxPos + nMaxLen; i++) { pszOutPut[j++] = pszBuf[i]; } return nMaxLen;}// 测试主函数int main(){ char szBuf1[] = "abcd12345ed125ss123456789"; char szBufOut[100] = {0}; int nLen = FindMaxLen(szBuf1, szBufOut); cout<
<
<
<

代码下载及其运行

代码下载地址:http://download.csdn.net/detail/yincheng01/6704519

解压密码:c.itcast.cn

下载代码并解压后,用VC2013打开interview.sln,并设置对应的启动项目后,点击运行即可,具体步骤如下:

1)设置启动项目:右键点击解决方案,在弹出菜单中选择“设置启动项目”

2)在下拉框中选择相应项目,项目名和博客编号一致

3)点击“本地Windows调试器”运行

程序运行结果






转载于:https://www.cnblogs.com/niulanshan/p/6175146.html

你可能感兴趣的文章
cookie机制、session机制
查看>>
BZOJ 3787: Gty的文艺妹子序列
查看>>
Comet OJ - Contest #5 简要题解
查看>>
CF1093G Multidimensional Queries
查看>>
移动端提升页面速度与网站性能
查看>>
中国剩余定理学习笔记
查看>>
深度学习中优化【Normalization】
查看>>
POJ2309BST(树状数组)
查看>>
洛谷P2114 起床困难综合症【位运算】【贪心】
查看>>
Ubuntu+caffe训练cifar-10数据集
查看>>
net 把指定 URI 的资源下载到本地
查看>>
[转]大型网站系统架构的演化
查看>>
非常好的JSUI
查看>>
基于EasyNVR摄像机无插件直播流媒体服务器实现类似于单点登录功能的免登录直播功能...
查看>>
python学习0day
查看>>
函数指针的使用
查看>>
[转]javascript实现限制上传文件的大小
查看>>
控制台应用程序窗口无法输入汉字解决办法
查看>>
一个关于session的问题
查看>>
加快开发时间的8个CSS的预处理程序
查看>>