算法:编程在一个已知的字符串中查找最长单词,假定字符串中只包含字母和空格,空格用来分隔不同单词

简介: 算法:编程在一个已知的字符串中查找最长单词,假定字符串中只包含字母和空格,空格用来分隔不同单词

程序分析:


可以定义两个字符串,一个用来存放字符串,一个用来存储最长的单词。通过比较得到最长的单词,再通过元素下标来获取最长的单词。


#include "stdio.h"
#include "string.h"
int main(void)
{
    //定义两个数组,sentence储存字符串,word存储单词
    char sentence[1024] = {}, word[64] = {};
    //length:单词长度;index:字符串下标
    int length = 0, index = 0;
    int max = 0, k = 0;
    printf("please input a sentence:");
    //fgets():从键盘获取字符串
    fgets(sentence, 1024, stdin);
    //循环直到字符串结束
    for (int i = 0; sentence[i] != '\0'; i++)
    {
        length = 0;
        //获取一个单词的长度
        for (k = i; sentence[k] != ' ' && sentence[k] != '\0'; k++)
        {
            length++;
            index++;
        }
        //判断当前单词长度是否大于已判断的最大单词长度
        if (length >= max)
        {
            //清空word数组
            memset(word, '\0', sizeof(max));
            max = length;
            for (int j = 0; j<length; j++)
            {
                word[j] = sentence[index - length + j];
            }
            index++;
            i = k;
        }
    }
    puts(word);
    return 0;
}
相关文章
|
1月前
|
算法
【优选算法】—— 字符串匹配算法
【优选算法】—— 字符串匹配算法
|
2月前
|
人工智能 算法 测试技术
【动态规划】【字符串】【C++算法】940. 不同的子序列 II
【动态规划】【字符串】【C++算法】940. 不同的子序列 II
|
2月前
|
算法 数据安全/隐私保护
火山中文编程 -- MD5算法和SHA算法
火山中文编程 -- MD5算法和SHA算法
19 0
火山中文编程 -- MD5算法和SHA算法
|
3月前
|
算法 测试技术 C#
【动态规划】【字符串】C++算法:正则表达式匹配
【动态规划】【字符串】C++算法:正则表达式匹配
|
3月前
|
机器学习/深度学习 算法
机器学习 - [集成学习]Bagging算法的编程实现
机器学习 - [集成学习]Bagging算法的编程实现
32 1
|
2月前
|
机器学习/深度学习 算法 C语言
【编码狂想】深度探索C++编程之旅:“数组、字符串、函数与KMP算法解密“
【编码狂想】深度探索C++编程之旅:“数组、字符串、函数与KMP算法解密“
73 0
|
16天前
|
算法
【算法学习--字符串】(不含KMP算法)
【算法学习--字符串】(不含KMP算法)
|
27天前
|
存储 算法 JavaScript
Java入门高频考查算法逻辑基础知识3-编程篇(超详细18题1.8万字参考编程实现)
解决这类问题时,建议采取下面的步骤: 理解数学原理:确保你懂得基本的数学公式和法则,这对于制定解决方案至关重要。 优化算法:了解时间复杂度和空间复杂度,并寻找优化的机会。特别注意避免不必要的重复计算。 代码实践:多编写实践代码,并确保你的代码是高效、清晰且稳健的。 错误检查和测试:要为你的代码编写测试案例,测试标准的、边缘情况以及异常输入。 进行复杂问题简化:面对复杂的问题时,先尝试简化问题,然后逐步分析和解决。 沟通和解释:在编写代码的时候清晰地沟通你的思路,不仅要写出正确的代码,还要能向面试官解释你的
33 0
|
1月前
|
存储 算法 JavaScript
【C++ 泛型编程 入门篇】 C++ 中的泛型算法 STL(sort,find)(二)
【C++ 泛型编程 入门篇】 C++ 中的泛型算法 STL(sort,find)
28 0
|
1月前
|
算法 搜索推荐 程序员
【C++ 泛型编程 入门篇】 C++ 中的泛型算法 STL(sort,find)(一)
【C++ 泛型编程 入门篇】 C++ 中的泛型算法 STL(sort,find)
35 0