首页 > 其他分享 >蓝桥杯练习(寻找字符串)

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

时间:2022-12-13 21:04:50浏览次数:45  
标签:stdin int s2 练习 蓝桥 fgets 字符串 1005

题目:

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

注意事项:

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

总结:

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

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

标签:stdin,int,s2,练习,蓝桥,fgets,字符串,1005
From: https://blog.51cto.com/u_15740457/5935066

相关文章

  • 力扣541 反转字符串2
    题目:给定一个字符串s和一个整数k,从字符串开头算起,每计数至2k个字符,就反转这2k字符中的前k个字符。如果剩余字符少于k个,则将剩余字符全部反转。如果剩余字符......
  • 【THM】Alfred(利用Jenkins错误配置提权)-练习
    本文相关的TryHackMe实验房间链接:https://tryhackme.com/room/alfred通过学习相关知识点:利用Jenkins获取目标的初始shell,然后再利用Windows身份验证令牌(tokens)提升权......
  • SQLite: 多行合并字符串、字串转多行
    网络收集整理如下: CREATETABLEt_email(email_idINTEGERPRIMARYKEYAUTOINCREMENT,schedule_idINTEGER,line_idINTEGER,mail_gro......
  • Python字符串格式化的三种方式
     #方式一:%name='张三'age=20score=22.556print('%s的年龄为:%d,成绩%f'%(name,age,score))#%3s为此处占3个字符位,不够3位前面空位#%04d为此处占4个......
  • 字符串相关类
    String类代表不可变的字符序列StringBuilder类和StringBuffer类代表可变字符序列。String类源码分析String类对象代表不可变的Unicode字符序列,因此我们可以将......
  • 字符串的hash函数
    字符串的hash函数:(1)unsignedintSDBMHash(char*str){unsignedinthash=0;while(*str){//等价于:hash=65599*hash+(*str++);......
  • JavaScript中比较字符串的4种方法
    严格平等要确定字符串是否相等,可以使用严格相等运算符。如果字符串不同,则返回,如果字符串相同,则返回===false trueconsts1='learn';consts2='today';console......
  • 【C语言】进阶指针Ⅰ 字符串指针、常量字符串、指针数组、指针数组使用常见。
    ......
  • enum转字符串
    顶一个enum///<summary>///输入法语言。///</summary>publicenumLanguage{///<summary>///默认,不管他。///......
  • 入门练习3-6
    #define_CRT_SECURE_NO_WARNINGS1#include<stdio.h>intmain(){ inta,b,c,min; puts("输入三个整数"); scanf("%d",&a); scanf("%d",&b); scanf("%d"......