蓝桥杯练习(寻找字符串)

简介: 蓝桥杯练习(寻找字符串)

题目:


image.png

注意事项:

1、为什么输入需要使用fgets()函数?

因为题目样例中出现了含有空格的字符串,而scanf()getchar()不具有接受空格字符串的能力,而gets()不安全,所以使用fgets()

fgets()用法

fgets(s2, 1005,stdin);

s2表示存放字符串的起始位置,而1005是一个整型num,存放多少个字符,stdin是输入流,需要记住!

2、在使用fgets()函数时,计算的长度要-1!

源码:

#include<cstdio>
#include<cstring>//C++与C语言在头文件定义的区别:C++去掉了.h加上了前缀c
int main()
{
  char s1[1005], s2[1005];
  fgets(s1,1005 ,stdin);
  fgets(s2, 1005, stdin);
  int len1 = strlen(s1) - 1;//注意使用fgets()函数时,计算字符串长度要-1
  int len2 = strlen(s2) - 1;
  int count = 0;
  for (int j=0;j<len1-len2+1;j++)//外层循环逐位加
  {
    int flag = 0;
    for (int i=0;i<len2;i++)//内层循环判断是否相等
    {
      if (s1[i+j] != s2[i])
      {
        break;
      }
      flag++;
    }
    if (flag == len2)
    {
      count++;
    }
  }
  printf("%d",count);
  return 0;
}
相关文章
|
6月前
|
人工智能 算法 Java
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-992 士兵杀敌(二)
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-992 士兵杀敌(二)
80 1
|
6月前
|
人工智能 算法 Java
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-1005 数字游戏
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-1005 数字游戏
109 0
|
6月前
|
Java C语言 C++
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-1000 kAc给糖果你吃
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-1000 kAc给糖果你吃
83 0
|
6月前
|
算法 Java C语言
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-999 数的潜能
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-999 数的潜能
83 0
|
6月前
|
算法 Java C语言
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-997 粘木棍
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-997 粘木棍
89 0
|
6月前
|
机器学习/深度学习 算法 Java
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-996 车的放置
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-996 车的放置
92 0
|
6月前
|
算法 Java C语言
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-986 藏匿的刺客
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-986 藏匿的刺客
93 0
|
6月前
|
算法 Java C语言
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-985 幸运的店家
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-985 幸运的店家
83 0
|
6月前
|
算法 Java C语言
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-983 最大获利
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-983 最大获利
68 0
|
6月前
|
算法 Java C语言
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-982 最小距离
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-982 最小距离
42 0