`
richard_ma
  • 浏览: 15129 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

fhloj1091 拼单词

阅读更多
拼单词

源文件:  words(.bas/.c/.cpp/.pas)
输入文件: words.in
输出文件: words.out

最近,小明的英语老师给小明留了一项作业,要求小明写一篇英文作文。小明刚学英语不久,经常在单词的拼写上犯错误,比如苹果apple写成了appel。所以小明写出的英文句子通常让人难以理解。

非常有趣的是,如果小明写下的英文句子中每一个单词的第一个字母和最后一个字母没有拼错,只是其余的若干个字母交换了一下顺序,对于小明的英语老师来说还是可以理解的。如果有一个单词不是按照这样的规则拼错,那么小明的英语老师就不知道小明想要表达的意思了。例如,小明想要写下的句子是"I am a student",然而他实际写下的是"I am a stuednt",对于这样的情况小明的英语老师是能理解的,因为其他单词都没有拼写错误,只是student这个单词中间的字母交换了一下顺序而已;如果小明写下的句子是"I ma a student",那么小明的英语老师就不能理解小明写的是什么了,因为am这个单词的首位字母都拼错了。

现在我们把小明作文中想要写下的句子和实际写下的句子给你,你能用程序判断一下,他的英文老师可以理解小明写的这些句子吗?

输入数据的第一行是一个整数N(1<=N<=10),表明一共有N组数据需要判断。接下来的N组数据每一组数据都包含两个句子,第一行的句子为小明想要写下的句子,第二行的句子为小明实际写下的句子。每个句子占用一行,不包含任何标点符号。每个句子最多包含100个英文单词,每个英文单词都是由大写英文字母('A'--'Z')和小写英文字母('a'--'z')组成,单词之间用空格隔开,每个单词中包含的英文字母不超过20个。

输出数据应包含N行,对于第i(1<=i<=N)组数据,如果小明的英语老师能理解小明写下的英文句子的意思,那么在第i(1<=i<=N)行输出Yes,否则输出No。请同学们注意,Yes和No的首字母大写。

【样例输入】
2
I am a student
a ma a student
I am a student
I am a sdtunet

【样例输出】
No
Yes

【说明】

解题思路
1. 多个test case
2. 单词的首字母和尾字母判断,其前一个或后一个字符是空格
3. 句首和句尾字符的判断,根据下标判断
4. 使用c语言中的gets()函数,会读入末尾的回车符

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main (int argc, char const* argv[])
{
    int n, len, flg, i;
    char origin[5000], fact[5000];

    scanf("%d\n", &n);
    while (n--) {
        gets(origin);
        gets(fact);

        len = strlen(fact);
        // gets() will get the last return ASCII(13), remove it!!
        if (fact[len-1] == 13) {
            len--;
        }

        flg = 1;
        for (i = 0; i < len; i++) {
            if (origin[i] != fact[i] &&
                (i == 0 || i == len-1 ||
                ((i > 0) && (fact[i-1] == ' ')) || 
                ((i < len-1) && (fact[i+1] == ' ')))) {
                flg = 0;
                break;
            }
        }

        if (flg) {
            printf("Yes\n");
        } else {
            printf("No\n");
        }
    }

    return 0;
}
分享到:
评论

相关推荐

    施耐德PLC例程源码twidopid控制实列

    施耐德PLC例程源码twido pid 控制实列提取方式是百度网盘分享地址

    node-v19.2.0-darwin-arm64.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    node-v15.12.0-darwin-x64.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    毕业设计 一款家庭记账本.zip

    毕业设计 一款家庭记账本

    Apache-maven-3.9.6-bin.tar.gz 安装包

    本资源是apache-maven-3.9.6版本安装包,适用于 Mac 操作系统,内部包含 apache-maven-3.9.6-bin.tar.gz 和 安装步骤,仅需解压即可使用,非常方便快捷!

    机械设计4L斗式提升sw16可编辑非常好的设计图纸100%好用.zip

    机械设计4L斗式提升sw16可编辑非常好的设计图纸100%好用.zip

    计算机设计 - VB+access文档管理系统(系统+开题报告+LW+答辩),保证可靠运行,毕业生可参考,免费资源下载

    本项目旨在开发一个基于VB(Visual Basic)和Access数据库的文档管理系统。该系统的主要目标是提高文档管理的效率和准确性,以满足企事业单位对文档管理的日常需求。 系统采用VB作为前端开发工具,利用其友好的用户界面和强大的编程能力,为用户提供直观、易用的操作界面。同时,Access数据库作为后端存储,确保文档数据的安全性和稳定性。 在系统功能上,本系统实现了文档的上传、下载、修改、删除等基本操作,同时支持文档的分类管理、权限控制等高级功能。通过分类管理,用户可以方便地查找和定位所需文档;通过权限控制,系统可以确保不同用户只能访问其权限范围内的文档,从而保障文档的安全性。 此外,系统还具备数据备份和恢复功能,以防止因意外情况导致的数据丢失。同时,系统还提供了日志记录功能,便于管理员对系统操作进行监控和审计。 本项目的开发将极大地提高企事业单位的文档管理效率,降低管理成本,为企业的信息化建设提供有力支持。未来,我们还将根据用户需求,不断优化系统功能,提升用户体验。

    node-v16.6.0-linux-s390x.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    gec6818cv1-20170407为核心板原理图 gec6818bv3为底板原理图

    gec6818cv1_20170407为核心板原理图 gec6818bv3为底板原理图

    node-v10.9.0.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    c语言对对碰游戏源码.rar

    c语言对对碰游戏源码.rar

    python英文短文自动分词写入文本文件

    对一句话进行分词是指将这个句子拆解成一个个独立的词语或单词。分词是自然语言处理中的一个重要任务,它有助于理解文本的语义和结构。 以下是对对一句话分词的一些基本说明: 分词目的:分词的目的是将连续的文本流转化为离散的词语单元。通过分词,可以更好地理解句子的含义、提取关键信息和进行后续的文本分析。 中文分词:在中文分词中,目标是将一句话拆分成一个个独立的汉字词语。中文的特点是没有像英文那样明确的空格来区分单词,因此分词变得尤为重要。 英文分词:相比之下,英文分词相对简单,因为英文单词通常以空格作为分隔符。但仍然需要处理缩写、连字符和标点等特殊情况。

    2024-2030全球与中国钼圆靶市场现状及未来发展趋势.docx

    2024-2030全球与中国钼圆靶市场现状及未来发展趋势

    video cms 后台管理系统 可用作毕业设计.zip

    video cms 后台管理系统 可用作毕业设计

    旅行商问题的多种求解算法.zip

    旅行商问题: 利用模拟退火算法、遗传算法等解决旅行商问题。 因为用于解决TSP问题的算法有很多种,遂将其整合成一个代码框架。

    node-v13.8.0-linux-ppc64le.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    file_1713787473983.zip

    file_1713787473983.zip

    node-v18.14.1-linux-armv7l.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    node-v10.11.0.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    node-v14.0.0-darwin-x64.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

Global site tag (gtag.js) - Google Analytics