当前位置: 首页 > news >正文

重庆网站建设维护规划设计公司

重庆网站建设维护,规划设计公司,安装wordpress+000,平原网站建设公司题目来自于博主算法大师的专栏#xff1a;最新华为OD机试C卷AB卷OJ#xff08;CJavaJSPy#xff09; https://blog.csdn.net/banxia_frontend/category_12225173.html 题目 主管期望你来实现英文输入法单词联想功能#xff0c;需求如下#xff1a; 依据用户输入的单词前…题目来自于博主算法大师的专栏最新华为OD机试C卷AB卷OJCJavaJSPy https://blog.csdn.net/banxia_frontend/category_12225173.html 题目 主管期望你来实现英文输入法单词联想功能需求如下 依据用户输入的单词前缀从已输入的英文语句中联想出用户想输入的单词。按字典序输出联想到的单词序列如果联想不到请输出用户输入的单词前缀。 注意 英文单词联想时区分大小写缩略形式如don’t 判定为两个单词 don和 “t”输出的单词序列不能有重复单词且只能是英文单词不能有标点符号 输入 输入两行 首行输入一段由英文单词word和标点构成的语句str 接下来一行为一个英文单词前缀pre 0 word.length() 20 0 str.length() 10000 0 pre.length() 20 输出 输出符合要求的单词序列或单词前缀 存在多个时单词之间以单个空格分割 示例一 输入 I love you He输出 He说明 用户已输入单词语句I love you, 中提炼出I,love,you三个单词 接下来用户输入He 从已经输入信息中无法联想到符合要求的单词 所以输出用户输入的单词前缀 示例一 输入 The furthest distance in the world,Is not between life and death,But when I stand in front or you,Yet you dont know that I love you. f输出 front furthest代码 #include ctype.h #include stdio.h #include stdlib.h #include string.h// 定义最大字符串长度常量 #define MAX_LEN 10001// 自定义比较函数用于对字符串数组进行排序 int cmp(const void *a, const void *b) {return strcmp((const char *)a, (const char *)b); }int main() {// 输入的英文语句char str[MAX_LEN];fgets(str, MAX_LEN, stdin);// 去除末尾换行符str[strcspn(str, \n)] \0;// 用户输入的单词前缀char pre[21];scanf(%s, pre);// 将标点符号替换为空格以便处理单词for (int i 0; str[i] ! \0; i) {if (!isalpha(str[i])) {str[i] ;}}// 存储从输入语句中拆分出的所有单词char word[500][21];int count 0;// 使用strtok函数分割字符串为单词char *token strtok(str, );while (token ! NULL) {strcpy(word[count], token);token strtok(NULL, );}// 存储与用户输入前缀匹配的单词char res[500][21];int res_count 0;// 遍历所有单词查找以pre为前缀的单词并存入res数组for (int i 0; i count; i) {if (strncmp(word[i], pre, strlen(pre)) 0) {strcpy(res[res_count], word[i]);}}// 如果没有找到任何匹配的单词则输出用户输入的单词前缀if (res_count 0) {printf(%s\n, pre);return 0;}// 对匹配到的单词按字典序进行排序qsort(res, res_count, sizeof(res[0]), cmp);// 输出排序后的单词序列for (int i 0; i res_count; i) {printf(%s , res[i]);}// 输出最后一个单词后不带空格printf(\n);return 0; }注意 1、标点符号的去除 // 将标点符号替换为空格for (int i 0; str[i] ! \0; i) {if (!isalpha(str[i])) {str[i] ;}}去除标点符号 2、cmp(const void *a, const void *b) { // 自定义比较函数用于对字符串数组进行排序 int cmp(const void *a, const void *b) {return strcmp((const char *)a, (const char *)b); }这段代码定义了一个名为 cmp 的函数用于自定义排序规则。这个函数主要用于配合 C 语言标准库中的 qsort 函数对数组进行排序。 函数原型为 int cmp(const void *a, const void *b);参数说明 const void *a 和 const void *b这两个指针参数分别指向要比较的元素在数组中的地址由于 qsort 函数通用性很强它可以处理任何类型的数据所以这里使用了 void* 类型表示不指定具体类型。 在这个函数内部 return strcmp((const char *)a, (const char *)b);将两个 void* 类型的指针强制转换为 const char* 类型这是因为我们的实际数据是字符串需要调用 strcmp 函数来进行比较。strcmp 是 C 标准库提供的一个函数用于比较两个字符串的大小按字典顺序返回值为 如果 a 字符串小于 b 字符串则返回负数如果 a 字符串等于 b 字符串则返回 0如果 a 字符串大于 b 字符串则返回正数。 因此cmp 函数实现了对传入的两个字符串按照字典序进行比较的功能qsort 函数会根据这个比较结果来对包含字符串的数组进行升序排列。在本题中我们使用 cmp 函数对找到的所有以给定前缀开头的单词数组进行排序。
http://www.yingshimen.cn/news/33294/

相关文章:

  • 专业提供网站建设服务公司dede网站幻灯片
  • 怎么做网站推广怎么样网站建设的商业目的
  • 网站流量跟钱的关系百度教育app
  • eclipse用来做网站前端广告推广精准引流
  • 建设网站公司招聘做网站开发注册工商户可以么
  • 鲜花类网站建设策划书范文制作app的教程
  • 南昌网站搭建公司 赣ICPwordpress主题更改
  • 网站维护费一般多少钱图片搜索图片识别
  • 儿童教育自适应网站模板做淘宝客建网站的好处是什么
  • 网站建设基本要求东莞排名优化团队
  • 想学网站开发如何登录到wordpress
  • intitle 做网站石家庄市最新公告
  • 网站错误代码301酷炫个人特别网站
  • 大连专业网站设计服务商网站建设搭建专业网站平台公司
  • 3d做号网站瑞安网站网站建设
  • 企业网站建设代理加盟启信宝
  • 外国网页设计网站怎么把网站做的好看
  • 温州做网站整站优化网站怎么做伪静态iis7.0
  • 长沙网站建设的公司wordpress 亲子模板
  • 网站建设返回函数一鸣东莞网站建设公司
  • wordpress 获取网站优化目录
  • 做购物网站的图标从哪里来seo软文推广工具
  • 淮安网站开发工程师招聘网铝单板设计师招聘网
  • 网站优化是做什么的高青外贸公司网站建设
  • wordpress插件图库东莞网站的优化
  • 单页面营销网站中信建设公司领导班子
  • 安平有做农产品的网站被淘宝客 wordpress 主题
  • 怎么在百度自己创网站网络培训法
  • 关于做情侣的网站的图片素材交易网站建设具体方案
  • 云霄建设局网站中国最有创意的广告