大连市平台网站,做任务领q币网站,上海外贸界龙彩印有限公司,浙江中立建设有限公司网站一.问题描述
给定一行字符串,获取其中最长单词。 比如#xff1a;给定一行字符串#xff1a; hello wo shi xiao xiao su 输出#xff1a;hello 二.题目分析 “打擂台算法”#xff0c;具体内容小伙伴们可以参考前面的内容。 三.代码实现
char* MaxWord(const char* str)… 一.问题描述
给定一行字符串,获取其中最长单词。 比如给定一行字符串 hello wo shi xiao xiao su 输出hello 二.题目分析 “打擂台算法”具体内容小伙伴们可以参考前面的内容。 三.代码实现
char* MaxWord(const char* str)
{int len strlen(str);char* curstr (char*)malloc((len 1) * sizeof(char));char* maxstr (char*)malloc((len 1) * sizeof(char));assert(curstr ! NULL maxstr ! NULL);if (curstr NULL || maxstr NULL)return NULL;int cur 0;//当前字符串的长度int max 0;//最长字符串的长度for (int i 0; str[i] ! \0; i){if (isalpha(str[i]))//是字母,是单词的一部分{curstr[cur] str[i];}else //当前是非字母,前面的单词提取结束{if (cur max)//需要更新数据{curstr[cur] \0;//把curstr变成字符串max cur;strcpy(maxstr, curstr);}cur 0; //为下次提取单词做准备}}if (cur max){curstr[cur] \0;//把curstr变成字符串max cur;strcpy(maxstr, curstr);}free(curstr);return maxstr;
}
int main()
{char* p MaxWord(add adfert afda rtert ddffxadf);printf(%s\n, p);free(p);return 0;
} 四.运行结果 创作不易 如果这份博客对你有帮助可以给博主一个免费的点赞以示鼓励。 欢迎各位帅哥美女点赞评论⭐收藏⭐谢谢 如果有什么疑问或不同的见解欢迎在评论区留言哦。 祝各位生活愉快⭐