/****************************************************************************
输入联想
问题描述:
输入联想功能是非常实用的一个功能,请编程实现类似功能。
要求实现函数:void auto_complete(char *str, char *tmp,char *output)【输入】  char *str,候选字符串char *tmp,输入字符串【输出】  int *output,联想匹配的字符串【返回】  无
注:候选字符串以空格隔开,输入字符串仅从字符串开始处匹配。将匹配的子字符串输出,
同样以空格隔开。如无匹配成功的子字符串,则输出空字符串。
示例
输入:str = chengdu chongqing,tmp = c
输出:output = chengdu Chongqing输入:str = chengdu chongqing,tmp = che
输出:end = Chengdu3)输入:str = beijing nanjing,tmp = jing
输出:end =
*****************************************************************************/
#include<cstdlib>
#include<cstring>
#include<cstdio>
#include <iostream>
using namespace std;
const int N=256;
void auto_complete(char *str,char *tmp, char *output)
{char word[N];memset(word,0,sizeof(word));int i=0,k=0,j=0,cnt=0;int len=strlen(str);if(!strlen(tmp))return;while(*str){if(*str != ' ') //暂存第一个单词{word[i++]=*str++;}else     //单词暂存完毕 开始与本次的单词匹配{k=0;j=0;while(k<i && tmp[j] != '\0'){if(word[k]==tmp[j]) //进行完全匹配{k++;j++;}else   //匹配失败  直接跳出本次whil循环 进行下一个单词的匹配{break;}}if(tmp[j] == '\0')      //带匹配单词结束 匹配成功{for(k=0;k<i;++k)output[cnt++]=word[k];  //将匹配成功的单词保存到结果数组output[cnt++]=' ';  //匹配成功的单词之间以空格隔开}memset(word,0,i);  //word内容已经被保存,清零准备下一个单词的匹配i=0;             //i是扫描变量,扫描结束的值是本次匹配单词的长度*str++;         //这是最外围循环结束的渐变量}}output[cnt]='\0';  //添加字符串结束标志
}
int main()
{char in[]="   UESTC EE chengdu china bejing zhengzhou henan uestc ee wangshihui huawei  \To recap, the three main objectives in the Mystery Method are:              \To attract a woman \To establish comfort, trust, and connection \To structure the opportunity to be seduced ";char tmp[10]={0};char out[255]={0};gets(tmp);while(strcmp(tmp,"0")!=0){auto_complete(in,tmp,out);cout<<"out is "<<out<<endl;memset(out,0,sizeof(out));gets(tmp);}
}
/************************************
c
out is chengdu china comfort, connection
e
out is ee establish
T
out is To To To To
w
out is wangshihui woman
a
out is are: attract a and
b
out is bejing be
c
out is chengdu china comfort, connection
d
out is
e
out is ee establish
M
out is Mystery Method
0re
out is recap,
tru
out is trust,
to
out is to
in
out is in
he
out is henan
wa
out is wangshihui
h
out is henan huawei
o
out is objectives opportunity
wo
out is woman
att
out is attract
0Process returned 0 (0x0)   execution time : 48.348 s
Press any key to continue.Process returned 0 (0x0)   execution time : 39.858 s
Press any key to continue.*************************************/

华为:编程实现联想输入法 输入联想功能是非常实用的一个功能,请编程实现类似功能相关推荐

  1. c语言联想输入法算法,华为:编程实现联想输入法 输入联想功能是非常实用的一个功能,请编程实现类似功能...

    /**************************************************************************** 输入联想 问题描述: 输入联想功能是非常实用 ...

  2. 匹配输入华为:编程实现联想输入法 输入联想功能是非常实用的一个功能,请编程实现类似功能...

    首先声明,我是一个菜鸟.一下文章中出现技术误导情况盖不负责 每日一道理 漫漫人生路,谁都难免会遭遇各种失意或厄运.在凄风苦雨 惨雾愁云的考验面前,一个强者,是不会向命运低头的.风再冷,不会永远不息:雾 ...

  3. 我国有4大淡水湖,已知这4个湖的大小均不相等,4个人每人仅答对一个。请编程解出四个湖从大到小的顺序。

    我国有4大淡水湖. A说:洞庭湖最大,洪泽湖最小,鄱阳湖第三. B说:洪泽湖最大,洞庭湖最小,鄱阳湖第二,太湖第三. C说:洪泽湖最小,洞庭湖第三. D说:鄱阳湖最大,太湖最小,洪泽湖第二,洞庭湖第三 ...

  4. C语言编程 5.3 任意输入三角形的三边长为a,b,c,编程判断能否构成三角形,若能,计算输出三角形的面积,否则输出不能构成三角形。

    #include<stdio.h> #include <math.h> main() {   float a,b,c,s,d;   printf("请输入三角形的三个 ...

  5. 编程游戏:划拳机器人比赛-{ 咱们园子是否应该设立一个算法挑战/编程竞赛的平台? }...

    网友王集鹄组织了一个编程比赛:划拳机器人比赛.类似"Robocode" 的游戏. 早先Microsoft就推出过一款名为Terrarium的code game,其实这种游戏已经有相 ...

  6. 相同功能多个alway和一个always

    相同功能多个alway和一个always 下面两种 写法功能是一样的,且占用的逻辑资源也是一样的(资源共享). 因为在编译过程中编辑器能自动识别相同资源的代码,进行资源共享. 但第一种代码的可读性更高 ...

  7. 【华为OD机试真题JAVA】英文输入法单词联想功能

    标题:英文输入法单词联想功能| 时间限制:1秒 | 内存限制:262144K | 语言限制:不限 主管期望你来实现英文输入法单词联想功能 需求如下 依据用户输入的单词前缀 从已输入的英文语句中联想出用 ...

  8. 华为OD机试题:英文输入法单词联想

    题目描述: 主管期望你来实现英文输入法单词联想功能. 需求如下:依据用户输入的单词前缀, 从已输入的英文语句中联想出用户想输入的单词, 按字典序输出联想到的单词序列, 如果联想不到, 请输出用户输入的 ...

  9. 【华为OD机试模拟题】用 C++ 实现 - 英文输入法单词联想 or 英文输入法(2023.Q1)

    最近更新的博客 [华为OD机试模拟题]用 C++ 实现 - 获得完美走位(2023.Q1) 文章目录 最近更新的博客 使用说明 英文输入法单词联想 and 英文输入法 题目 输入 输出 示例一 输入 ...

最新文章

  1. 神经网络php代码,慢慢研究
  2. 每日一皮:后来…后来…他得到了永生...
  3. 《BI那点儿事》Microsoft 决策树算法——找出三国武将特性分布,献给广大的三国爱好者们...
  4. VHDL设计脉搏计的课程设计
  5. php程序怎么调试,你是怎么调试PHP代码的
  6. python文本文档_python 文本文件操作
  7. java queue使用_使用Java使用Amazon Simple Queue Service
  8. 为什么Linux内核里大量使用goto,而很多书籍却不提倡使用?
  9. mysql 强制使用索引_快速找出MySQL数据库冗余索引和未使用索引
  10. 小米MIXAlpha将首发1亿像素传感器:1/1.33英寸大底业内无敌
  11. 股票估值法研究报告_论述股票的估值方法
  12. 玩转字符串篇--数据遍地是,看你取不取
  13. CTGU实验6_2-创建借书存储过程
  14. PBRT学习笔记:在单位圆内部均匀采样
  15. CM3启动汇编文件详解
  16. 洛谷 P2962 [USACO09NOV]灯Lights
  17. Python学习,用python制作字符版gif图
  18. ByVal和ByRef区别
  19. AD域实现统一用户管理
  20. autojs之四史答题2.0(加ui)

热门文章

  1. Window10 WiFi列表不显示解决方案
  2. 米斯特白帽培训讲义(v2)漏洞篇 弱口令、爆破、遍历
  3. html 页眉选项卡,步骤如下: (1)在插入选项卡的页眉和页脚选项组中单击【页眉】按钮...
  4. 春风十里,不如见到你
  5. 高手必备 | Revit插件到底哪个好?区别是什么?
  6. ipv6无状态自动分配地址,是如何进行工作的。
  7. 幻数 linux_查找第n个幻数
  8. 请问网页的在线聊天怎么实现
  9. 数字门店要怎么运营,才能助力线下门店降本增效?
  10. 一个在线显示doc文本的实例