您的位置:首页 > 编程语言

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

2017-11-25 16:39 561 查看
程序分析:

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

#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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  算法 编程 存储 word
相关文章推荐