北大百练+最长最短单词+gets的使用
2016-07-18 13:27
323 查看
点击打开链接
#include<stdio.h> #include<stdlib.h> #include<iostream> #include<string.h> #include<cstring> #include<string> #include<math.h> #include<algorithm> #define LL long long #define INF 0x3f3f3f3f #define mod 1e9+7 using namespace std; int main() { char a[20005],b[105],maxT[105]="",minT[105]=""; int i,j; int max=-1,min=105,newLen;///表示当前已经发现的最长、最短单词的长度 int f; /// freopen("21.in","r",stdin); gets(a); i=0; j=0; f=0; /// f=0表示当前遇到的分隔符(空格或逗号)是新单词之前的分隔符,f=1表示开始或是正在构造一个单词 while(a[i]!='\0'){///扫描a串生成一个新的单词,然后测其长度,再与max、min对比 if(a[i]==' '||a[i]==','){ if(f==1){/// f=1表示当前遇到的分隔符前面有一个刚刚扫描形成的单词 b[j]='\0';///毕竟最后一个结束标志。 newLen=strlen(b); if(newLen>max) { max=newLen; strcpy(maxT,b); } if(newLen<min) { min=newLen; strcpy(minT,b); } f=0; j=0;///清空额。 } } else{ b[j]=a[i]; j++; f=1;///开始或是正在构造一个单词 } i++; } ///处理末尾单词 b[j]='\0'; newLen=strlen(b); if(newLen>max) { max=newLen; strcpy(maxT,b); } if(newLen<min) { min=newLen; strcpy(minT,b); } printf("%s\n%s\n",maxT,minT); return 0; }
相关文章推荐
- python的排序函数
- 二分图匹配(缩点建图)—— Fire Net ( HDU 1045 )
- MySQL 和Oracle里的关键词
- XSI IPC为什么需要键来标识内核IPC结构
- java多线程—Runnable、Thread、Callable
- MySQL Quick guide
- 无法访问localhost和127.0.0.1的内容
- 如何使360浏览器中的Google可用
- toggle()用法
- 文件打开模式 w+ r+ a+ 区别和辨析
- JAVA 新闻
- [Java]Java程序的编译步骤
- S5pv210裸机实验——SDRAM重定位
- android.content.res.Resources$NotFoundException: String resource ID #0xffffffff
- mysql数据库语句
- TVP5150视频解码芯片 调试总结
- Meta viewport (视口元信息标签)
- 怎样自动调节NiceLabel中文本框大小?
- 视频文件格式
- 解决Qt程序在Linux下无法输入中文的办法