查找某字符串出现的位置,并且输出该第一个字母所在的位

简介: 查找某字符串出现的位置,并且输出该第一个字母所在的位

查找某字符串出现的位置,并且输出该第一个字母所在的位置


最近某大型节目《爸爸去哪儿》,火遍了天,五位可可爱爱的萌宝宝深得观众喜爱,


因此读者对于《爸爸去哪儿》联想到了C语言,将其结合起来,通过将现实与代码的连用,才能更受读者所喜爱。


现在给定一个字符串,已知字串'BB'代表芭比出现的位置,每个字符串有且仅仅会出现一次'BB'


要求:


输入:一个字符串,找出’BB‘在该字符串中所在的位置,字符串长度不超过1000;


输出:代表’BB'所在的位置


#include <stdio.h>
int main()
{
  char a[1001] = { 0 };
  int i, n;
  for (i = 0; i <= 1001; i++)
  {
  scanf_s("%c", &a[i]);
  if (a[i] == '\n')
    break;
  if (a[i] == 'B' && a[i - 1] == 'B')
    n = i;
  }
  printf("%d", n);
  return 0;
}

在这里,定义的字符串数组a[1001]={0};原因是因为:字符串数组以“\0"结尾;并且"\0"占据一个字符;


for循环输入函数,在这里笔者所用的代码有点简化,建议读者使用时候:多用for循环来写,笔者只用一个for循环,显得不合适


在这里:


if (a[i] == '\n')
    break;

起到了判断输入的字符串结束的作用;笔者定义了1001个字符,显然我们不需要输入这么多,因此用该代码,显得非常重要,但如果不用这个代码,回车键也起不到作用,将可能会一直输出.......


在这里运行的结果为:


0a2653c851af460fa595bd959398a8f1.png


读者可以查看BB字符中第一个B字符所在的位置,是不是跟输出的位置一样?


笔者所查的是一样的。


在这个代码里面:


if (a[i] == 'B' && a[i - 1] == 'B')

后面的a[i-1]的原因,想必读者都能看出来,原因是:在数组中,第一个数组的下标为0;然后依次增加;


通过此代码,读者也可以进行改编,查找某一段特定的字符,并且输出该字符的初始位置


但是如果将a[i-1]改为a[i+1]的话,输入好字符串,摁下回车键,将会出现错误情况


6de278e6d6694ce5bb08e7e842b7e74b.png


因此,读者需要注意这个情况,完美避坑


相关文章
|
4月前
|
存储 Java 数据处理
|
4月前
|
存储 算法 索引
|
3月前
判断第二个字母
判断第二个字母。
29 4
|
7月前
|
索引 容器
06-数据容器str(字符串)-字符串的下标索引/字符串无法修改/查找字符串下标初始值/字符串的替换/字符串的分割/字符串去除前后空格/统计字符串的数量/字符串的循环遍历/对字符串进行分割
06-数据容器str(字符串)-字符串的下标索引/字符串无法修改/查找字符串下标初始值/字符串的替换/字符串的分割/字符串去除前后空格/统计字符串的数量/字符串的循环遍历/对字符串进行分割
题目:下列给定程序中函数fun的功能是:从p所指字符串中找出ASCII码值最大的字符,将其放在第一个位置上,并将该字符前的原字符向后顺序移动。
题目:下列给定程序中函数fun的功能是:从p所指字符串中找出ASCII码值最大的字符,将其放在第一个位置上,并将该字符前的原字符向后顺序移动。
107 0
定义一个长度为10的整型数组,循环输入10个整数。 然后将输入一个整数,查找此整数,找到后输出下标,没找到给出提示。
定义一个长度为10的整型数组,循环输入10个整数。 然后将输入一个整数,查找此整数,找到后输出下标,没找到给出提示。
222 0
第一个只出现一次的字符
第一个只出现一次的字符
49 0
|
人工智能 BI
762 字符串匹配----给定两个长度相同的字符串 a 和字符串 b。如果在某个位置 i 上,满足字符串 a 上的字符 a[i] 和字符串 b 上的字符 b[i] 相同,那么这个位置上的字符就是匹配
给定两个长度相同的字符串 aa 和字符串 bb。 如果在某个位置 ii 上,满足字符串 aa 上的字符 a[i]a[i] 和字符串 bb 上的字符 b[i]b[i] 相同,那么这个位置上的字符就是匹配的。 如果两个字符串的匹配位置的数量与字符串总长度的比值大于或等于 kk,则称两个字符串是匹配的。
298 0
去掉多余的空格---输入一个字符串,字符串中可能包含多个连续的空格,请将多余的空格去掉,只留下一个空格。输入格式
输入一个字符串,字符串中可能包含多个连续的空格,请将多余的空格去掉,只留下一个空格。 输入格式 共一行,包含一个字符串。 输出格式 输出去掉多余空格后的字符串,占一行。 数据范围 输入字符串的长度不超过 200200。 保证输入字符串的开头和结尾没有空格。
327 0
C#编程-17:字符串取第一个和最后一个字符
C#编程-17:字符串取第一个和最后一个字符
336 0
下一篇
DataWorks