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

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

程序分析:


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


#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;
}
相关文章
|
2天前
|
算法
【经典LeetCode算法题目专栏分类】【第11期】递归问题:字母大小写全排列、括号生成
【经典LeetCode算法题目专栏分类】【第11期】递归问题:字母大小写全排列、括号生成
|
2天前
|
算法
【经典LeetCode算法题目专栏分类】【第8期】滑动窗口:最小覆盖子串、字符串排列、找所有字母异位词、 最长无重复子串
【经典LeetCode算法题目专栏分类】【第8期】滑动窗口:最小覆盖子串、字符串排列、找所有字母异位词、 最长无重复子串
|
4天前
|
机器学习/深度学习 算法 搜索推荐
编程之舞:探索算法的优雅与力量
【6月更文挑战第10天】在软件的世界里,算法是构筑数字宇宙的基石。它们如同精心编排的舞蹈,每一个步骤都充满着逻辑的美感和解决问题的力量。本文将带领读者走进算法的世界,一起感受那些精妙绝伦的编程思想如何转化为解决现实问题的钥匙。
11 3
|
6天前
|
算法 安全 数据挖掘
解锁编程之门:数论在算法与加密中的实用应用
解锁编程之门:数论在算法与加密中的实用应用
|
6天前
|
存储 SQL 算法
LeetCode题58: 5种算法实现最后一个单词的长度【python】
LeetCode题58: 5种算法实现最后一个单词的长度【python】
|
6天前
|
存储 算法 数据挖掘
LeetCode 题目 43:字符串相乘 多种算法分析对比 【python】
LeetCode 题目 43:字符串相乘 多种算法分析对比 【python】
|
10天前
|
存储 算法 Cloud Native
C++ bcrypt算法 字符串加密,亲测有效
C++ bcrypt算法 字符串加密,亲测有效
|
10天前
|
存储 算法
算法训练,牛客.判断是不是平衡二叉树 牛客.最大子矩阵两个数组的交集牛客.数组中两个字符串的最小距离
算法训练,牛客.判断是不是平衡二叉树 牛客.最大子矩阵两个数组的交集牛客.数组中两个字符串的最小距离
算法训练,牛客.判断是不是平衡二叉树 牛客.最大子矩阵两个数组的交集牛客.数组中两个字符串的最小距离
|
10天前
|
算法
算法特训,AB5 .点击消除BC.149简写单词牛客.除2!牛客.Fibonacci数列
算法特训,AB5 .点击消除BC.149简写单词牛客.除2!牛客.Fibonacci数列
|
10天前
|
算法
基础算法-去重字符串,辗转相除法,非递归前序遍历二叉树题型分析
基础算法-去重字符串,辗转相除法,非递归前序遍历二叉树题型分析