c语言基础:L1-070 吃火锅

news2024/11/25 5:48:52

chg.jpg

以上图片来自微信朋友圈:这种天气你有什么破事打电话给我基本没用。但是如果你说“吃火锅”,那就厉害了,我们的故事就开始了。

本题要求你实现一个程序,自动检查你朋友给你发来的信息里有没有 chi1 huo3 guo1

输入格式:

输入每行给出一句不超过 80 个字符的、以回车结尾的朋友信息,信息为非空字符串,仅包括字母、数字、空格、可见的半角标点符号。当读到某一行只有一个英文句点 . 时,输入结束,此行不算在朋友信息里。

输出格式:

首先在一行中输出朋友信息的总条数。然后对朋友的每一行信息,检查其中是否包含 chi1 huo3 guo1,并且统计这样厉害的信息有多少条。在第二行中首先输出第一次出现 chi1 huo3 guo1 的信息是第几条(从 1 开始计数),然后输出这类信息的总条数,其间以一个空格分隔。题目保证输出的所有数字不超过 100。

如果朋友从头到尾都没提 chi1 huo3 guo1 这个关键词,则在第二行输出一个表情 -_-#

输入样例 1:

Hello!
are you there?
wantta chi1 huo3 guo1?
that's so li hai le
our story begins from chi1 huo3 guo1 le
.

输出样例 1:

5
3 2

输入样例 2:

Hello!
are you there?
wantta qi huo3 guo1 chi1huo3guo1?
that's so li hai le
our story begins from ci1 huo4 guo2 le
.

输出样例 2:

5
-_-#

程序源码: 

#include <stdio.h>  // 引入标准输入输出库  
#include <string.h>  // 引入字符串处理库  
  
#define MAX_LINE_LENGTH 82  // 定义每行信息最大长度为82  
#define KEYWORD "chi1 huo3 guo1"  // 定义关键词为"chi1 huo3 guo1"  
  
int main() {  // 主函数开始  
    int count = 0;  // 朋友信息总条数    
    int match_count = 0;  // 包含关键词的信息条数    
    int first_match_index = 0;  // 第一次出现关键词的信息索引    
    char line[MAX_LINE_LENGTH + 1];  // 存储每行信息的字符数组    
  
    // 通过while循环从stdin中读取一行行输入,直到读到EOF或读取出错为止  
    while (fgets(line, MAX_LINE_LENGTH, stdin) != NULL) {    
        // fgets函数会读取换行符("\n"),所以我们需要找到换行符的位置并替换为字符串结束符('\0')  
        // 去除行尾的换行符    
        line[strcspn(line, "\n")] = '\0';    
  
        if (strcmp(line, ".") == 0) {  // 如果读取到的行为".",则跳出循环  
            // 输入结束,跳出循环    
            break;    
        }    
  
        count++;  // 每读取一行,计数器加1  
  
        if (strstr(line, KEYWORD) != NULL) {  // 如果读取到的行中包含关键词  
            match_count++;  // 匹配条数加1  
            if (match_count == 1) {  // 如果这是第一次匹配到关键词  
                first_match_index = count;  // 记录下这条信息的索引    
            }    
        }    
    }    
  
    // 输出朋友信息的总条数    
    printf("%d\n", count);    
  
    if (match_count == 0) {  // 如果从头到尾都没匹配到关键词  
        // 如果从头到尾都没提关键词,输出表情符号 -_-#    
        printf("-_-#\n");    
    } else {  // 如果匹配到了关键词  
        // 输出第一次出现关键词的信息索引和匹配条数    
        printf("%d %d\n", first_match_index, match_count);    
    }    
  
    return 0;  // 主函数结束,返回0表示程序正常退出  
}

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

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

相关文章

HT5010 音频转换器工作原理

HT5010是一款低成B的立体声DA转换器&#xff0c;内部集成了内插滤波器、DA转换器和输出模拟滤波等电路。其可支持多种音频数字输入格式&#xff0c;支持24-bit字节。 该HT5010 基于一个多比特位的Δ-Σ调制器&#xff0c;将数字信号转化成两个声道的模拟信号并经过模拟滤波器滤…

创建ABAP数据库表和ABAP字典对象-创建表01

创建表 创建表在你的Package包中 选择(右键单击)包并从上下文菜单中选择New > Other ABAP Repository Object: 2.输入过滤器文本表>数据库表&#xff0c;然后选择Next。 3.输入一个名称&#xff0c;例如ZTRAINING_XXX(一般是具体的项目描述XXX)&#xff0c;然后选择Nex…

Go 内存逃逸

内存逃逸&#xff08;memory escape&#xff09;是指在编写 Go 代码时&#xff0c;某些变量或数据的生命周期超出了其原始作用域的情况。当变量逃逸到函数外部或持续存在于堆上时&#xff0c;会导致内存分配的开销&#xff0c;从而对程序的性能产生负面影响。Go 编译器会进行逃…

2023年免费CRM软件盘点:14款热门工具全面比较(含开源)

在初创企业或小型企业阶段&#xff0c;特别是在预算有限且客户管理需求较为基础的情境下&#xff0c;使用免费的CRM系统通常是一个理智的选择。这类系统虽然在功能上可能不如付费版本丰富&#xff0c;但基本的客户信息管理、销售跟踪和沟通记录等核心功能通常都能满足需求。 对…

某全球头部ICT公司:全球多个交付中心实现安全的内外网文件交换

全球领先的ICT基础设施和智能终端提供商 H科技公司是全球领先的ICT基础设施和智能终端提供商&#xff0c;致力于为客户创造价值、保障网络安全稳定运行、推动产业良性发展。H科技公司聚焦全联接网络、智能计算、创新终端等领域&#xff0c;在产品、技术、基础研究、工程能力等…

私域流量的完美进阶:从加粉撩客到入站营销

要么写一些值得让大家看的东西&#xff0c;要么做一些值得让大家写的事情。 ——本富兰克林 对普罗大众来说&#xff0c;私域最初的印象要追溯到社交电商兴起之时。 2011年左右&#xff0c;微信的出现&#xff0c;带火了社交电商家族非常重要的成员——微商。让无数本来机会很…

折纸达珠峰高度(forwhile循环、闭包函数循环)

对折0.1mm厚度的纸张多少次&#xff0c;高度可达珠峰高度8848180mm。 (本笔记适合熟悉循环和列表的 coder 翻阅) 【学习的细节是欢悦的历程】 Python 官网&#xff1a;https://www.python.org/ Free&#xff1a;大咖免费“圣经”教程《 python 完全自学教程》&#xff0c;不仅…

通过netstat命令查看Linux的端口占用

一、netstat 完整写作network statistics&#xff0c;简写为netstat &#xff0c;常用的几个参数为l、n、t、u、p。 -l &#xff1a; 仅展示监听状态下的程序(state 为LISTEN)。 -n &#xff1a;会使用ip端口的方式&#xff0c;来进行地址的描述。不使用-n就会变成服务器的名称…

MySql优化经验分享

一条sql的具体执行过程 连接 我们怎么查看MySQL当前有多少个连接&#xff1f; 可以用show status命令&#xff0c;模糊匹配Thread&#xff0c; Show global status like "Thread%" show global variables like wait timeout;—非交互式超时时间&#xff0c;如JDBC…

HDFS集群环境部署(超级详细!!)

一、部署Hadoop的关键点 1.上传&#xff0c;解压到/export/server,配置软链接 2.修改4个配置文件&#xff0c;workers&#xff0c;hadoop.env.sh&#xff0c;core-stie.xml&#xff0c;hdfs-site.xml 3.SCP分发到root2,root3&#xff0c;并设置环境变量 4.创建数据目录,并修改文…

基于springboot实现游戏分享网站系统项目【项目源码+论文说明】计算机毕业设计

基于springboot实现游戏分享网站演示 摘要 网络的广泛应用给生活带来了十分的便利。所以把游戏分享管理与现在网络相结合&#xff0c;利用java技术建设游戏分享网站&#xff0c;实现游戏分享的信息化。则对于进一步提高游戏分享管理发展&#xff0c;丰富游戏分享管理经验能起到…

PHP短网址短链接生成源码/长链接在线缩短源码/支持黑夜模式

源码简介&#xff1a; PHP短网址短链接生成源码&#xff0c;长链接在线缩短源码&#xff0c;它支持黑夜模式&#xff0c;反应灵敏的设计&#xff0c;优雅简洁的界面&#xff0c;大方简约。PHP源码&#xff0c;强大的短网址生成源码。 简洁、优雅、反应灵敏的设计。创建URL、创…

分库分表分区

分库分表分区 数据库分库、分表和分区是水平切分数据库的策略&#xff0c;有助于提高数据库性能、可伸缩性和负载均衡。 概念 **分库&#xff1a;**将一个库的数据拆分到多个相同的库中&#xff0c;访问的时候访问一个库。**分表&#xff1a;**把一个表的数据放到多个表中&a…

【数智化案例展】拜耳虫虫拜拜——全渠道倾听客户声音,持续指引产品改善与服务升级...

‍ 光速斑马案例 本项目案例由光速斑马投递并参与数据猿与上海大数据联盟联合推出的《2023中国数智化转型升级创新服务企业》榜单/奖项”评选。 大数据产业创新服务媒体 ——聚焦数据 改变商业 虫虫拜拜是拜耳集团成立的上门除虫服务品牌&#xff0c;创立初衷是通过专业科学的…

MySQL Binlog实战应用之一

一、前言 开发业务系统尤其是与财务相关的系统&#xff0c;需要记录每一笔变更操作的日志&#xff0c;这一般有两种实现方案。 1、代码中通过AOP实现&#xff0c;提供注解跟踪记录日志&#xff0c;这种方案能够比较清晰地以业务角度记录操作日志&#xff0c;但记录变更前的旧…

uniapp黑马优购

配置tabbar 使用 npm install escook/request-miniprogram 进行http请求 挂载到 uni.$http 上 uniapp小程序分包 访问的时候 携带分包目录 /subpkg/goods_detail/goods_detail git分支使用 # 创建并使用分支 git checkout -b home git commit # 推送到远程的home分支…

“2024中国电子信息展会“百年历史展会,4月深圳,7月成都,11月上海

2024年中国电子信息博览会&#xff0c;将如一位游历全国的使者&#xff0c;跨越千山万水&#xff0c;让人们见证中国电子信息产业的辉煌成就。它的足迹将遍布全国多个地区&#xff0c;4月走进繁花似锦的深圳&#xff0c;7月拥抱历史悠久的成都&#xff0c;11月则落脚国际化的上…

什么是NPM(Node Package Manager)?它的作用是什么?

聚沙成塔每天进步一点点 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 欢迎来到前端入门之旅&#xff01;感兴趣的可以订阅本专栏哦&#xff01;这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发…

IBM LSF 作业负载管理

了解 LSF 作业生命周期。 使用 bsub 将作业提交到队列&#xff0c;并指定作业提交选项以修改默认作业行为。 提交的作业在队列中等待&#xff0c;直到将它们调度并分配到主机上来执行。 在作业分发时&#xff0c;LSF 会检查哪些主机有资格运行该作业。 一、作业生命周期 LSF …

5.5 TCP报文段的首部格式

思维导图&#xff1a; 5.5 TCP报文段的首部格式 基本概念 TCP报文段&#xff1a;包含首部和数据两部分&#xff0c;首部至少20字节。作用&#xff1a;首部字段定义了TCP的功能和行为。长度&#xff1a;首部长度可变&#xff0c;基础首部20字节&#xff0c;可添加选项。 首部…