POJ2503 Babelfish(二分)

题目链接。

分析;

主要是学着用一下bsearch。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>struct Entry{char english[15], foreign[15];
}entrys[100010];int cmp(const void *a, const void *b){return strcmp((*(struct Entry *)a).foreign, (*(struct Entry *)b).foreign);
}int b_cmp(const void *a, const void *b){return strcmp((char *)a, (*(struct Entry *)b).foreign);
}int main(){char s[30];int top=0;struct Entry *p;while(gets(s)){if(s[0] == '\0') break;sscanf(s, "%s %s", entrys[top].english, entrys[top].foreign);top++;}qsort(entrys, top, sizeof(entrys[0]), cmp);while(scanf("%s", s) == 1){p = (struct Entry *)bsearch(s, entrys, top, sizeof(entrys[0]), b_cmp);if(p == NULL){printf("eh\n");}else printf("%s\n", p->english);}return 0;
}
#include <stdio.h>
#include <stdlib.h>
#include <string.h>struct Entry{char english[15], foreign[15];
}entrys[100010];int cmp(const void *a, const void *b){return strcmp((*(struct Entry *)a).foreign, (*(struct Entry *)b).foreign);
}int b_cmp(const void *a, const void *b){return strcmp((char *)a, (*(struct Entry *)b).foreign);
}int main(){char s[30];int top=0;struct Entry *p;while(gets(s)){if(s[0] == '\0') break;sscanf(s, "%s %s", entrys[top].english, entrys[top].foreign);top++;}qsort(entrys, top, sizeof(entrys[0]), cmp);while(scanf("%s", s) == 1){p = (struct Entry *)bsearch(s, entrys, top, sizeof(entrys[0]), b_cmp);if(p == NULL){printf("eh\n");}else printf("%s\n", p->english);}return 0;
}

 

转载于:https://www.cnblogs.com/tanhehe/archive/2013/04/07/3003758.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/474541.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux命令解释程序实验,实验二 命令解释程序的使用

实验二 命令解释程序的使用一、实验目的掌握UNIX或LINUX环境下命令解释程序的使用能对编写简单的C程序&#xff0c;进行编译运行和调试。二、实验内容输入LINUX相关命令后记录系统输出简单的C程序&#xff0c;进行编译运行和调试三、实验步骤1、命令操作1) 浏览目录和文件的各…

Linux常用的命令及操作技巧

今天我们就来看几个常见的处理目录的命令吧&#xff1a; ls: 列出目录 cd&#xff1a;切换目录 pwd&#xff1a;显示目前的目录 mkdir&#xff1a;创建一个新的目录 rmdir&#xff1a;删除一个空的目录 cp: 复制文件或目录 rm: 移除文件或目录 你可以使用 man [命令] 来查看各个…

LeetCode 1534. 统计好三元组

文章目录1. 题目2. 解题1. 题目 给你一个整数数组 arr &#xff0c;以及 a、b 、c 三个整数。请你统计其中好三元组的数量。 如果三元组 (arr[i], arr[j], arr[k]) 满足下列全部条件&#xff0c;则认为它是一个 好三元组 。 0 < i < j < k < arr.length|arr[i] …

edge linux 下载软件,在Linux上安装edge浏览器

原标题&#xff1a;在Linux上安装edge浏览器时至今日&#xff0c;微软已经成为了世界上最大的开源代码贡献者&#xff0c;这可能出乎很多人的预料。随着微软放弃了经营多年的IE之后&#xff0c;edge成为了windows系统新的浏览器软件。前段时间听说改版后的edge提供了针对Linux的…

Linux系统用户账号的管理技巧

用户账号的管理工作主要涉及到用户账号的添加、修改和删除。 添加用户账号就是在系统中创建一个新账号&#xff0c;然后为新账号分配用户号、用户组、主目录和登录Shell等资源。刚添加的账号是被锁定的&#xff0c;无法使用。 1、添加新的用户账号使用useradd命令&#xff0c;其…

LeetCode 1535. 找出数组游戏的赢家

文章目录1. 题目2. 解题1. 题目 给你一个由 不同 整数组成的整数数组 arr 和一个整数 k 。 每回合游戏都在数组的前两个元素&#xff08;即 arr[0] 和 arr[1] &#xff09;之间进行。 比较 arr[0] 与 arr[1] 的大小&#xff0c;较大的整数将会取得这一回合的胜利并保留在位置…

在Linux中查看ftp状态,linux中ftp常见操作启动ftp状态,终止ftp会话

Ftp:查询ftp 状态&#xff1a;Service vsftpd status设置目录权限&#xff1a;chmod 777 -R /home/wwwroot/www.xx.com◆启动ftp会话open命令用于打开一个与远程主机的会话。该命令的一般格式是&#xff1a;◆open 主机名/IP如果在ftp 会话期间要与一个以上的站点连接&#xff…

python变量以及类型(含笔记)

1. 变量及类型 1.1 变量的定义 在程序中&#xff0c;有时我们需要对2个数据进行求和&#xff0c;那么该怎样做呢&#xff1f; 大家类比一下现实生活中&#xff0c;比如去超市买东西&#xff0c;往往咱们需要一个菜篮子&#xff0c;用来进行存储物品&#xff0c;等到所有的物…

POJ-1707 Sum of powers bernoulli方程

题目链接&#xff1a;http://poj.org/problem?id1707 利用bernoulli方程来解决此题。 数学上&#xff0c;伯努利数Bn的第一次发现是与下述数列和的公式有关&#xff1a; 其中n为固定的任意正整数。 这数列和的公式必定是变量为m&#xff0c;次数为n1的多项式&#xff0c;称为伯…

LeetCode 1536. 排布二进制网格的最少交换次数

文章目录1. 题目2. 解题1. 题目 给你一个 n x n 的二进制网格 grid&#xff0c;每一次操作中&#xff0c;你可以选择网格的 相邻两行 进行交换。 一个符合要求的网格需要满足主对角线以上的格子全部都是 0 。 请你返回使网格满足要求的最少操作次数&#xff0c;如果无法使网…

linux软件包管理 pdf,vSphere Storage Appliance 安装和管理 PDF

vSphere Storage Appliance 安装和管理VSA 群集利用多个 ESXi 主机的计算和存储资源&#xff0c;并提供一组可由数据中心中的所有主机访问的数据存储。运行 vSphere Storage Appliance 并加入 VSA 群集的 ESXi 主机是 VSA 群集成员。通过vSphere Storage Appliance &#xff0c…

python标识符、命名规则及关键字(含笔记)

目录 1、标识符和关键字 1.1 标识符概念 1.2 标识符规则 2、命名规则 3、关键字 1、标识符和关键字 1.1 标识符概念 开发人员在程序中自定义的一些符号和名称。标示符是自己定义的,如变量名,函数名等。 1.2 标识符规则 2、命名规则 见名知意。起一个有意义的名字&#…

【IT笔试面试题整理】不用加减乘除做加法

【试题描述】写一个函数&#xff0c;求两个整数的和&#xff0c;要求在函数体内不得使用加减乘除四则运算符合。 基本思路是这样的&#xff1a; int A, B;A&B //看哪几位有进位A^B //不带进位加 考虑二进制加法的过程&#xff0c; 步骤一、A^B&#xff0c;能够得到没有…

LeetCode 1537. 最大得分(切片取出局部最大值)

文章目录1. 题目2. 解题1. 题目 你有两个 有序 且数组内元素互不相同的数组 nums1 和 nums2 。 一条 合法路径 定义如下&#xff1a; 选择数组 nums1 或者 nums2 开始遍历&#xff08;从下标 0 处开始&#xff09;。从左到右遍历当前数组。如果你遇到了 nums1 和 nums2 中都…

华为固件解包工具linux,华为解包工具官方下载

华为官方APP固件解包工具包括&#xff1a;华为官方固件update.app专用解包工具和 system.img解包工具&#xff0c;可解包华为官方SD卡刷机包UPDATA.APP&#xff0c;可将APP固件解包成IMG镜像分区文件&#xff0c;继续解包可对刷机包进行定制。官方ROM解包教程&#xff0c;现写一…

python输出以及常用格式符介绍(含笔记)

1 输出 1.1 普通输出 # 打印提示 print(hello world) print(给我的卡---印度语&#xff0c;你好的意思) 1.2 格式化输出 age 10 print("我今年%d岁"%age) age 1 print("我今年%d岁"%age) age 1 print("我今年%d岁"%age) 在程序中…

C++ _countf

Windows宏&#xff0c;用来计算一个静态分配的数组中的元素的个数&#xff0c;而sizeof是用来计算字节数。 _countof(array); 参数 array数组的名字 返回值 array数组中的元素个数 备注 确保array是一个静态分配的数组&#xff0c;而不是一个指针。如果array是一个指针&#xf…

LeetCode MySQL 1384. 按年度列出销售总额

文章目录1. 题目2. 解题1. 题目 Product 表&#xff1a; ------------------------ | Column Name | Type | ------------------------ | product_id | int | | product_name | varchar | ------------------------ product_id 是这张表的主键。 product_name 是…

linux历史性能数据,Linux平台下如何看OS历史的性能数据

同事电话询问Linux下一个集群内2个主机前后2天相继无响应&#xff0c;表现状况为ping都没响应。因为没任何监控或其他性能数据&#xff0c;故需要获取历史OS性能数据。我们知道rhel5,6下默认可以通过sar命令查看OS历史信息&#xff0c;故执行sar即可看到当天的数据。[rootora11…

python输入以及比较逻辑运算符介绍(含笔记)

1. 输入 咱们在银行ATM机器前取钱时&#xff0c;肯定需要输入密码&#xff0c;对不&#xff1f;那么怎样才能让程序知道咱们刚刚输入的是什么呢&#xff1f;&#xff1f;大家应该知道了&#xff0c;如果要完成ATM机取钱这件事情&#xff0c;需要先从键盘中输入一个数据&#xf…