L1-070 吃火锅(C语言)

题目描述:

以上图片来自微信朋友圈:这种天气你有什么破事打电话给我基本没用。但是如果你说“吃火锅”,那就厉害了,我们的故事就开始了。
本题要求你实现一个程序,自动检查你朋友给你发来的信息里有没有 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
-_-#

解题思路

循环接收输入的每一条信息,直到遇见单独的 . ,输入结束。每接收一条信息,判断该字符串中是否存在 chi1 huo3 guo1 这个字串,存在则修改相应的值,不存在则接收下一条信息。

易错分析

  1. 每一条信息接收一次,因为可能存在空格,因此不能使用scanf()函数接收,应使用gets()函数
  2. 每一条信息只判断是否存在字串,不需要判断存在几个字串 (测试点 2)
  3. 单独的 . 是结束标志,但可能存在 . 开头的信息,此时没有结束,仍需进行判断,并继续接收下一条信息 (测试点 3)

解题方法

本题重点就在字符串中查找子串的方法

方法一:

使用strstr()函数
char *p = strstr(t1,t2),若t2t1的字串,返回值不为空,反之,返回值为空

用法举例:

char t1[] = "abcdefgh";
char t2[] = "def";
char *p = strstr(t1,t2);
//结果
p = "defgh"
---------------------------------------------------
char t1[] = "abcdefgh";
char t2[] = "xyz";
//结果
p = NULL

方法2:

使用strncmp()函数
strncmp(t1,t2,n),比较t1t2的n个字符,若返回值为0,则两字符串的n个字符相同
【】注意,t1t2代指字符串开始的位置,即
strncmp(t1,t2,n)指的是t1t2两个字符串从头开始比较n个字符
strncmp(&t1[3],&t2[5],4)指的是t1[3]开始的4个字符与t2[5]开始的4个字符进行比较

题目代码

方法1和方法2取其一即可

#include <stdio.h>
#include <stdlib.h>
#include <string.h>int main(void)
{char temp[81] = { 0 };char t[] = "chi1 huo3 guo1";int tiaoshu = 0;  //朋友发来的信息条数int first = 0;  //第一条出现的位置,为0则没有要的信息int cishu = 0;  //吃火锅出现的总次数while (1){gets(temp);if ('.' == temp[0] && strlen(temp) == 1)  //跳出循环的条件break;tiaoshu++;//方法1char* p = strstr(temp, t);if (p != NULL){if (0 == first)first = tiaoshu;cishu++;}//方法2//if (strlen(temp) >= 14)//{//  for (int i = 0; i <= strlen(temp) - 14; i++)//   {//     if (0 == strncmp(&temp[i], t, 14))//      {//         if (0 == first)//             first = tiaoshu;//         cishu++;//            break;   //防止出现多次吃火锅的信息//       }// }//}}//输出printf("%d\n", tiaoshu);if (0 == first)printf("-_-#");elseprintf("%d %d", first, cishu);return 0;
}

L1-070 吃火锅(C语言)相关推荐

  1. PTA 7-18 吃火锅c语言

    以上图片来自微信朋友圈:这种天气你有什么破事打电话给我基本没用.但是如果你说"吃火锅",那就厉害了,我们的故事就开始了. 本题要求你实现一个程序,自动检查你朋友给你发来的信息里有没 ...

  2. C语言:L1-070 吃火锅 (15 分)

    文章目录 一.题目 二.方法1 1.思路 2.代码 一.题目 以上图片来自微信朋友圈:这种天气你有什么破事打电话给我基本没用.但是如果你说"吃火锅",那就厉害了,我们的故事就开始了 ...

  3. pta——点赞,打印杨辉三角,吃火锅(c语言)

    程序设计实训8月16日小组编程 今日碎碎念:今天稀里糊涂地在规定时间内倒是都做出来了,但是还有些问题没有想明白再回顾一下.(大佬都在自己的博客上写学习笔记,我只能用用CSDN了唔) 7-1 点赞 微博 ...

  4. pta 吃火锅(C语言实现)

    题目描述 微信朋友圈:这种天气你有什么破事打电话给我基本没用.但是如果你说"吃火锅",那就厉害了,我们的故事就开始了. 本题要求你实现一个程序,自动检查你朋友给你发来的信息里有没有 ...

  5. 用腾讯优图AI视觉模组在树莓派上玩吃火锅体感游戏

    今年上半年,由于疫情原因,Switch 大火,Switch 平台上有许多款体感游戏,比如:健 身环大冒险.马力欧赛车.舞力全开.这些游戏凭着"硬核健身"的标签吸引了大量玩家, 通过 ...

  6. L1-6 吃火锅 (15分)

    L1-6 吃火锅 (15分) 以上图片来自微信朋友圈:这种天气你有什么破事打电话给我基本没用.但是如果你说"吃火锅",那就厉害了,我们的故事就开始了. 本题要求你实现一个程序,自动 ...

  7. 吃火锅有四忌[转载]

    一忌吃的时间太长 有的人,一吃就是数小时之久,甚至通宵达旦.这样会使胃液.胆汁.胰液等消化液不停地分泌,腺体得不到正常休息,导致胃肠功能紊乱,发生腹痛.腹泻,严重的可患慢性胃肠炎.胰腺炎等. 二忌吃得 ...

  8. 上海女白领吃火锅碰瓷,支付宝口碑居然真的要赔?

    昨天中午,新闻晨报在微博上发出一条新闻:上海一位汪小姐吃火锅的时候,因用支付宝口碑扫码中了一个999元大红包,结果因为太激动手机不小心掉进油汤里,捞出来以后开不了机了.关键是这位小姐觉得这是口碑和商家 ...

  9. 7-110 吃火锅 (15 分)

    7-110 吃火锅 (15 分) 以上图片来自微信朋友圈:这种天气你有什么破事打电话给我基本没用.但是如果你说"吃火锅",那就厉害了,我们的故事就开始了. 本题要求你实现一个程序, ...

最新文章

  1. python处理excel字典-使用Python代码处理Excel
  2. (创建模式 上)设计模式——工厂、抽象工厂 C++/Python3实现
  3. 【PAT - 甲级1007】Maximum Subsequence Sum (25分)(前缀和)
  4. sqlserver数据库安装后服务配置
  5. 李洪强iOS开发Swift篇—02_变量和常量
  6. 超级简单的Region对比识别验证码
  7. VB计算文本文件的行数
  8. linux双系统安装教程
  9. C# 创建PPT图表
  10. abab的四字成语_abab的四字成语有哪些成语大全
  11. HTML5写的app打开白屏,苹果App Store白屏的五种解决办法
  12. PhpWord 如何输出换行符到 word?
  13. 三维表面的降噪处理 (surface denoising)
  14. 网易云课堂---布尔教育《8小时学会html》 笔记
  15. Latex: 减少图与文字之间的空白间隙
  16. ctf web 备份是个好习惯
  17. 如何衡量调查问卷一致性
  18. 计算机语言之Pascal语言
  19. iperf3工具测试带宽、上下行速率TCP 测试
  20. 项目总监和项目经理的区别

热门文章

  1. mvc控制器返回操作结果封装
  2. 【名说】脚本程序转桌面exe应用自动打开IE浏览器至指定页面内并自动设置好兼容性视图
  3. python提效小工具-统计xmind用例数量
  4. 解决Word文档被保护无法编辑问题(编辑时鼠标回到页前
  5. excel表格怎么在滚动拖动时行列固定不动?
  6. 巧用转置功能粘贴数据
  7. nginx 出现An error occurred错误
  8. 洛谷 P5017 摆渡车
  9. 怎么关闭苹果手机自动扣费_优酷自动续费怎么关闭
  10. 埋点tracker:前端埋点服务-技术要点梳理