算法:编程在一个已知的字符串中查找最长单词,假定字符串中只包含字母和空格,空格用来分隔不同单词
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; }
相关文章推荐
- 编程在一个已知的字符串中找最长单词,假定字符串中只含字母和空格,空格用来分隔不同单词。
- C语言编程在一个已知的字符串中查找最长单词,假定字符串中只含字母和空格,用空格来分隔单词。
- 编程在一个已知的字符串中查找最长单词,假定字符串中只含字母和空格,用空格来分隔单词。
- 编程在一个已知的字符串中查找最长单词,假定字符串中只含字母和空格,用空格来分隔单词。
- 编程在一个已知的字符串中查找最长单词,假定字符串中只含字母和空格,用空格来分隔单词。
- 编程在一个已知的字符串中查找最长单词,假定字符串中只含字母和空格,用空格来分隔单词。
- 编程在一个已知的字符串中查找最长单词,假定字符串中只含字母和空格,用空格来分隔单词。
- 编程在一个已知的字符串中查找最长单词,假定字符串中只含字母和空格,用空格来分隔单词(只使用循环,数组)
- 编程在一个已知的字符串中查找最长单词,假定字符串中只含字母和空格,用空格来分隔单词。
- 编程在一个已知的字符串中查找最长单词,假定字符串中只含字母和空格,用空格来分隔单词。
- 编程在一个已知的字符串中查找最长单词,假定字符串中只含字母和空格,用空格来分隔单词。
- 编程在一个已知的字符串中查找最长单词,假定字符串中只含字母和空 格,用空格来分隔单词。
- C语言 已知的字符串中找最长单词,假定字符串中只含字母和空格,空格用来分隔不同单词。
- 对一个已知的字符串查找最长单词,并且输出来
- 【字符串操作】11.查找一个字符串中最长的纯字母的子串(即查找最长的单词)
- 用一个函数实现将一行字符串中最短的单词输出。此行字符串从主函数传递给该函数。假设字符串中包含的单词以空格作为分隔符号,例如”Asia Games 2010 is held in GuangZhou.”,其中最短的单词是”is”和”in”。
- 请编写一个方法,将字符串中的空格全部替换为“%20”。假定该字符串有足够的空间存放新增的字符,并且知道字符串的真实长度(小于等于1000),同时保证字符串由大小写的英文字母组成。 给定一个string
- 编写程序,读入一行英文(只包含字母和空格,单词间以单个空格分隔),将所有单词的顺序倒排并输出,依然以单个空格分隔。
- 给定一个只包含大写英文字母的字符串,可以用另一个字母替换字符串中的任何字母最多k次。查找包含所有重复字母的最长子字符串的长度,
- 有一个字符串,包含数字与字母,编程去除数字,要求:1.在原字符串操作2.使用指针处理