C语言:字符串位置的查询

【问题描述】编写一个函数strrindex(s,t),用于返回字符串t在字符串s中最右边出现的位置.该位置从0开始计数,如果s中不含有t,那么返回-1;在你编写的程序中,使用strrindex(s,t)函数,输入t,s,输出t在s最右边的位置.
【输入形式】控制台分行输入字符串s,t.
【输出形式】控制台输出一个整数,是t在s最右边出现的位置.
【样例输入】The strdup() function new returns a pointer to a new string
new
【样例输出】49
【样例说明】输入的第一行为字符串s,第二行为字符串t="new".t在s中出现过两次,其中在最右边出现的位置中"new"的第一个字符’n’在s中所在的位置为49.
【评分标准】该题要求输出一个整数,答对得满分10分,否则得0分.上传C语言文件名为strrindex.c 。

#include
#define M 100

void strrindex(char s[], char t[])
{
    int i,j,k,r = -1;
    for(i = 0; s[i] != '\0'; i++)
    {
        k = 0;
        for(j = i; t[k] !='\0';j++,k++)
        {
            if(t[k] == s[j])
            {
                continue;
            }
            else
            {
                break;
            }
        }
        if(t[k] == '\0')
            r = i;
    }
    printf("%d",r);
}

int main()
{
    char s[M];
    char t[M];
    gets(s);
    gets(t);
    strrindex(s,t);

    return 0;
}

 

你可能感兴趣的:(算法,c语言)