华为:编程实现联想输入法 输入联想功能是非常实用的一个功能,请编程实现类似功能
/****************************************************************************
输入联想
问题描述:
输入联想功能是非常实用的一个功能,请编程实现类似功能。
要求实现函数: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.*************************************/
华为:编程实现联想输入法 输入联想功能是非常实用的一个功能,请编程实现类似功能相关推荐
- c语言联想输入法算法,华为:编程实现联想输入法 输入联想功能是非常实用的一个功能,请编程实现类似功能...
/**************************************************************************** 输入联想 问题描述: 输入联想功能是非常实用 ...
- 匹配输入华为:编程实现联想输入法 输入联想功能是非常实用的一个功能,请编程实现类似功能...
首先声明,我是一个菜鸟.一下文章中出现技术误导情况盖不负责 每日一道理 漫漫人生路,谁都难免会遭遇各种失意或厄运.在凄风苦雨 惨雾愁云的考验面前,一个强者,是不会向命运低头的.风再冷,不会永远不息:雾 ...
- 我国有4大淡水湖,已知这4个湖的大小均不相等,4个人每人仅答对一个。请编程解出四个湖从大到小的顺序。
我国有4大淡水湖. A说:洞庭湖最大,洪泽湖最小,鄱阳湖第三. B说:洪泽湖最大,洞庭湖最小,鄱阳湖第二,太湖第三. C说:洪泽湖最小,洞庭湖第三. D说:鄱阳湖最大,太湖最小,洪泽湖第二,洞庭湖第三 ...
- C语言编程 5.3 任意输入三角形的三边长为a,b,c,编程判断能否构成三角形,若能,计算输出三角形的面积,否则输出不能构成三角形。
#include<stdio.h> #include <math.h> main() { float a,b,c,s,d; printf("请输入三角形的三个 ...
- 编程游戏:划拳机器人比赛-{ 咱们园子是否应该设立一个算法挑战/编程竞赛的平台? }...
网友王集鹄组织了一个编程比赛:划拳机器人比赛.类似"Robocode" 的游戏. 早先Microsoft就推出过一款名为Terrarium的code game,其实这种游戏已经有相 ...
- 相同功能多个alway和一个always
相同功能多个alway和一个always 下面两种 写法功能是一样的,且占用的逻辑资源也是一样的(资源共享). 因为在编译过程中编辑器能自动识别相同资源的代码,进行资源共享. 但第一种代码的可读性更高 ...
- 【华为OD机试真题JAVA】英文输入法单词联想功能
标题:英文输入法单词联想功能| 时间限制:1秒 | 内存限制:262144K | 语言限制:不限 主管期望你来实现英文输入法单词联想功能 需求如下 依据用户输入的单词前缀 从已输入的英文语句中联想出用 ...
- 华为OD机试题:英文输入法单词联想
题目描述: 主管期望你来实现英文输入法单词联想功能. 需求如下:依据用户输入的单词前缀, 从已输入的英文语句中联想出用户想输入的单词, 按字典序输出联想到的单词序列, 如果联想不到, 请输出用户输入的 ...
- 【华为OD机试模拟题】用 C++ 实现 - 英文输入法单词联想 or 英文输入法(2023.Q1)
最近更新的博客 [华为OD机试模拟题]用 C++ 实现 - 获得完美走位(2023.Q1) 文章目录 最近更新的博客 使用说明 英文输入法单词联想 and 英文输入法 题目 输入 输出 示例一 输入 ...
最新文章
- 神经网络php代码,慢慢研究
- 每日一皮:后来…后来…他得到了永生...
- 《BI那点儿事》Microsoft 决策树算法——找出三国武将特性分布,献给广大的三国爱好者们...
- VHDL设计脉搏计的课程设计
- php程序怎么调试,你是怎么调试PHP代码的
- python文本文档_python 文本文件操作
- java queue使用_使用Java使用Amazon Simple Queue Service
- 为什么Linux内核里大量使用goto,而很多书籍却不提倡使用?
- mysql 强制使用索引_快速找出MySQL数据库冗余索引和未使用索引
- 小米MIXAlpha将首发1亿像素传感器:1/1.33英寸大底业内无敌
- 股票估值法研究报告_论述股票的估值方法
- 玩转字符串篇--数据遍地是,看你取不取
- CTGU实验6_2-创建借书存储过程
- PBRT学习笔记:在单位圆内部均匀采样
- CM3启动汇编文件详解
- 洛谷 P2962 [USACO09NOV]灯Lights
- Python学习,用python制作字符版gif图
- ByVal和ByRef区别
- AD域实现统一用户管理
- autojs之四史答题2.0(加ui)