蓝桥杯练习(寻找字符串)
  TEZNKK3IfmPf 2023年11月14日 21 0

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

注意事项:

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;
}

总结:

这道题是寻找单个字符的进阶版,变成了寻找一个字符串,

学会了在样例含有空格的情况下如何输入字符串!

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月14日 0

暂无评论

推荐阅读
  TEZNKK3IfmPf   2024年04月12日   34   0   0 字符串java
  TEZNKK3IfmPf   2024年05月17日   33   0   0 字符串php
TEZNKK3IfmPf