zoukankan      html  css  js  c++  java
  • 第1周:指针与字符串

       1、字符串比对

       题目内容:

       题目说起来很简单,你会读到两个字符串,每个字符串占据一行,每个字符串的长度均小于10000字符,而且第一个字符串的长度小于第二个字符串的。你的程序要找出第一个字符串在第二个字符串中出现的位置,输出这些位置,如果找不到,则输出-1。

       注意,第一个字符的位置是0。

       注意,第一个字符串在第二个字符串中的位置可能不止一处。

       注意,字符串中可能含有空格。

       注意,两个字符串的长度一定大于0。

       输入格式:

       两个字符串,一行一个。

       输出格式:

       第一个字符串在第二个字符串中出现的位置,按照从小到到的顺序排列,每个数字后面有一个空格。如果在第二个字符串中找不到第一个字符串,则输出-1。

       输入样例:

       abba

       ababbba abbabbabbabbaacc

       输出样例:

       8 11 14 17

       解答:

    #include <stdio.h>
    #include <string.h>
    #define LEN 10000
    
    void string_in(char * tar, char * src);
    int main(void)
    {
        char s1[LEN], s2[LEN];
        gets(s1);
        gets(s2);
        string_in(s1, s2);
    
        return 0;
    }
    void string_in(char * tar, char * src)
    {
        int index = 0, i;
    
        while(src[index])
        {
            if(src[index] == tar[0])
            {
                i = 1;
                while(src[index + i] == tar[i] && tar[i] != '')
                    i++;
                if(i == strlen(tar))
                    printf("%d ", index);
            }
            index++;
        }
        if(strstr(src, tar) == NULL)
            printf("%d
    ", -1);
    }
  • 相关阅读:
    python之使用openpyxl从excel读取测试数据004
    python之编写HttpRequest工具类003
    python之cookies获取002
    OJ练习9——T20 valid parentheses
    OJ练习8——T19 remove nth node
    OJ练习7——T14 Longest Common Prefix
    OJ练习6——T8
    OJ练习5——T6
    OJ练习4——T7
    九度OJ-1351
  • 原文地址:https://www.cnblogs.com/yerenyuan/p/5135961.html
Copyright © 2011-2022 走看看