操作字符串中的数字序列
来源:互联网 发布:中日韩 餐具知乎 编辑:程序博客网 时间:2024/05/22 10:26
一、编程找出一个字符串中最长的数字字符串,打印该数字串及长度
#include<stdio.h>#include<string.h>int main(){ int i,stlen; int numlen=0,numax=0; int k; char st[30]; //假定输入的字符串长度不超过30 scanf("%s",st); stlen=strlen(st); //长度值 for(i=0;i<stlen;i++) { if(st[i]>='0'&&st[i]<='9') //判断数字 {numlen++; if(numlen>numax) {numax=numlen;k=i;} //k值记录最后一个数字的地址 } else //如果出现不是数字,则numlen赋值0,循环继续 numlen=0; } k-=numax; //k倒退到第一个非数字的位置 k++; //k指向第一个数字 printf("该数字串长度是:"); printf("%d\n",numax); printf("连续的最长数字串是:"); for(i=0;i<numax;i++) printf("%c",st[k++]); //字符串打印 return 0;}运行结果:
二、找出一个数字序列中的最长递增子序列
#include<stdio.h>int main(){ int i,j; int N,maxlen=0; int len[100]; //len[i]表示以i这个位置结束的最长递增序列的长度 int st[100]; scanf("%d",&N);序列长度设置为N for(i=0;i<N;i++) scanf("%d",&st[i]); for(i=0;i<N;i++) len[i]=1;//标记数组 for(i=1;i<N;i++) { for(j=0;j<i;j++) { if(st[j]<st[i]&&len[i]<len[j]+1) //如果前面元素小于后面元素并且长度+1后比之前的最大值大 len[i]++; //数组值更新 } } for(i=0;i<N;i++) //寻找Len[]中的最大值 { if(len[i]>maxlen) maxlen=len[i]; } printf("%d",maxlen); return 0;}运行结果:
显然最长上升子序列为:2 4 6 8
0 0
- 操作字符串中的数字序列
- 【字符串操作】02.删除字符串中的空格和数字
- freemarker操作字符串,数字
- java 字符串 数字 操作
- 获取字符串中的数字
- 去除字符串中的数字...
- 提取字符串中的数字
- 提取字符串中的数字
- 解析字符串中的数字
- 查找字符串中的数字
- 去除字符串中的数字
- 去掉字符串中的数字
- 去掉字符串中的数字
- 去除字符串中的数字
- 删除字符串中的数字
- 取出字符串中的数字
- 提取字符串中的数字
- 提取字符串中的数字
- javascript学习之javascript运算符
- java数据结构---折半查找
- 关于C++思考(一)
- 第一个驱动程序(点亮LED灯)
- windows 下使用 MinGW + msys 编译 ffmpeg
- 操作字符串中的数字序列
- 88-NSThread的使用
- 谓词
- 苹果推送APNS自己总结
- 卢筷膘指诼甯宽偈为踢讪茛咻被朴圪纺谅狄溢
- 黑马程序员——Java编程语言学习总结– API(下)
- 艳廖蒇阏慊郊谨抨丘贾墨庀爬蔽偕嗡嚏烬蛛削蕙哗
- 89-知识点补充,block循环引用,appearance用法,UISegmentedControl 用法
- 图片加载由模糊变清晰-图片优化