复制
收藏
提问
全网

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.

5月前
全网
文档
学术
百科
知识库
时间不限
自动

理解问题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.

已完成理解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.

展开阅读网页

根据问题描述,我们需要编写一个C语言函数strrindex(s, t),该函数用于返回字符串t在字符串s中最右边出现的位置。如果字符串s中不含有字符串t,则返回-1。程序的输入形式为控制台分行输入字符串st,输出形式为控制台输出一个整数,即字符串t在字符串s中最右边出现的位置。

首先,我们可以参考CSDN博客中的描述3,编写一个函数strrindex(s, t),其功能是返回字符串t在字符串s中最右边出现的位置。函数接口定义为int strrindex(char s[], char p[]);,其中sp都是用户传入的参数,字符串sp的长度不超过1007

接下来,我们可以参考样例输入和输出5,了解如何使用strrindex(s, t)函数。例如,给定字符串s = "Hello world"t = "ld",调用int pos = strrindex(s, t);后,输出pos的值为8,表示字符串"ld"最后一次出现在字符串"Hello world"中的位置。

为了实现这个功能,我们可以参考需求4-1的描述8,编写函数strrindex(s, t),它返回字符串t在字符串s中最右边出现的位置。如果s中不包含t,则返回-1。

最后,我们可以参考分析strindex的描述9,了解如何寻找字符串t在字符串s中的最后一次出现位置。与strindex不同,strrindex需要寻找的是最后一次出现的位置。

综上所述,我们可以编写如下C语言程序:

#include <stdio.h>
#include <string.h>

int strrindex(char s[], char t[]) {
    int i, j, k, index = -1;
    for (i = strlen(s) - 1; i >= 0; i--) {
        for (j = i, k = 0; j < strlen(s) && k < strlen(t); j++, k++) {
            if (s[j] != t[k]) {
                break;
            }
            if (k == strlen(t) - 1) {
                index = i;
                break;
            }
        }
        if (index != -1) {
            break;
        }
    }
    return index;
}

int main() {
    char s[101], t[101];
    scanf("%100s", s);
    scanf("%100s", t);
    int pos = strrindex(s, t);
    printf("%d", pos);
    return 0;
}

这个程序首先定义了strrindex函数,它通过双层循环遍历字符串s,寻找字符串t的最后一次出现位置。在main函数中,我们从控制台读取字符串st,然后调用strrindex函数并输出结果。根据样例输入和输出,这个程序应该能够正确地返回字符串t在字符串s中最右边出现的位置510

更专业一些
转笔记
专业
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.
不在提醒

更专业内容正在努力生成中
知识树
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.
如何实现C语言中的strrindex函数?
C语言中如何查找子字符串?
C语言字符串查找函数有哪些?
在线客服