C语言-输出一个句子中最长的单词
#include <stdio.h>
#include <string.h>
#include <ctype.h>
int main()
{
int longest_i(char * p);
char str[1000];
gets(str);//输入
int max_i,i;
max_i = longest_i(str);//获取最长单词的首字母下标
//输出这个最长的单词
for (i = max_i; isalpha(str[i]); i++)
printf("%c", str[i]);
puts("");//输出一个换行
return 0;
}
//找到字符串中最长单词的起始下标
int longest_i(char * p){
int maxs_index=0,i,count=0,maxl=0,dqs_index=0;
int flag=0;//1在一个单词内 0未在单词内
for (i = 0; i <= strlen(p); i++){
if(isalpha(*(p+i))){
//当前字符是字母
if(!flag){ //如果是单词的第一个字母
flag=1; //标记进入一个单词
dqs_index = i; //这个单词的起始下标是i
}
count++;
}else{
//当前字符不是字母
//如果最大长度有值且当前单词的长度大于之前的最大长度,或者最大长度还没有值(当前是第一个单词)
if((maxl && count>maxl) || !maxl){
maxl = count;
maxs_index = dqs_index;
}
flag = 0;//标记为非单词状态
count=0;//单词长度计数变量赋0
}
}
return maxs_index;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具