Don.James 2021-09-03 19:50 采纳率: 100%
浏览 383
已结题

天梯L1-070吃火锅

输入格式:
输入每行给出一句不超过 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>
#define SIZE 81
int main()
{
    char temp[SIZE] = "chi1 huo3 guo1";
    char ch;
    int count_message = 0,count_keyMessage = 0;
    int first_appearance = 0;//记录第一次出现关键句的位置
    int i;
    while((ch=getchar())!='.')
    {
        i = 1;
        if(ch=='c')//读到可能是吃火锅的字符
        {
            while(i<=13)//逐个字符与关键字符串进行比较
            {
                ch = getchar();
                if(ch != temp[i])
                    break;
                i++;
            }
            if(i>13)//说明与关键字符串一致
            {
                count_keyMessage++;
                if(!first_appearance)//说明第一次出现
                    first_appearance = count_message + 1;
            }
        }
        else if(ch=='\n')
            count_message++;
    }
    printf("%d\n",count_message);
    if(count_keyMessage)
        printf("%d %d\n",first_appearance,count_keyMessage);
    else
        printf("-_-#\n");
    return 0;
}

想问一下这个哪里有问题,输出的结果和样例一样

  • 写回答

2条回答 默认 最新

查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 9月11日
  • 已采纳回答 9月3日
  • 创建了问题 9月3日

悬赏问题

  • ¥15 WPF 大屏看板表格背景图片设置
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示