首页 > 代码库 > C语言 · 最长单词
C语言 · 最长单词
算法提高 最长单词
时间限制:1.0s 内存限制:512.0MB
编写一个函数,输入一行字符,将此字符串中最长的单词输出。
输入仅一行,多个单词,每个单词间用一个空格隔开。单词仅由小写字母组成。所有单词的长度和不超过100000。如有多个最长单词,输出最先出现的。
输入仅一行,多个单词,每个单词间用一个空格隔开。单词仅由小写字母组成。所有单词的长度和不超过100000。如有多个最长单词,输出最先出现的。
样例输入
I am a student
样例输出
student
1 #include<stdio.h> 2 #include<string.h> 3 #define max 100000 4 int is_zimu(char ch){//判断字符ch是否为字母:是返回1,否则返回0 5 if(ch>=‘a‘ && ch<=‘z‘ || ch>=‘A‘ && ch<=‘Z‘) 6 return 1; 7 else 8 return 0; 9 } 10 int main(){ 11 char str[max]; 12 int len=0,length=0; 13 int point,place; 14 gets(str); 15 int flag=1; 16 for(int i=0;i<=strlen(str);i++){ 17 if(!is_zimu(str[i])){//当前字符不是字母 18 if(len>length){ 19 length=len;//记录上一个单词长度 20 place=point; 21 } 22 flag=1;//标记置1 23 len=0;//单词长度清0,接下来记录下一个单词长度 24 }else{ 25 if(flag) 26 point=i;//存放当前字母元素的下标 27 len++;//单词长度+1 28 flag=0;//标记置0 29 } 30 } 31 for(int i=place;i<place+length;i++){ 32 printf("%c",str[i]); 33 } 34 return 0; 35 }
C语言 · 最长单词
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。