请问一道C 的题目!多谢

请教一道C 的题目!!谢谢!
请各位帮我看看这道题目
(我自己做了很久。。总是出现问题)


题目:输入一串字符串,且其中包含有两个字母“a”,编程将第一个"a "字母之前和第二个字母"a "之后的字符连接成一个字符串输出:将两个"a"字母之间的字符作为另一个字符串输出。

我的思路是用循环判断 输入字符串中 有没等于a。有就记录位置。然后再根据位置取字符

谢谢!!

------解决方案--------------------
引用楼主 h2018 的帖子:

题目:输入一串字符串,且其中包含有两个字母“a”,编程将第一个"a "字母之前和第二个字母"a "之后的字符连接成一个字符串输出:将两个"a"字母之间的字符作为另一个字符串输出。

我的思路是用循环判断 输入字符串中 有没等于a。有就记录位置。然后再根据位置取字符

------解决方案--------------------
C/C++ code

#include <stdio.h>
#include <string.h>
#define MAXLEN 100
int main()
{
    char Str[MAXLEN];
    printf("Please input the string!\n");
    scanf("%s", Str);

    char *pStrH = strtok(Str, "a");
    char *pStrM = strtok(NULL, "a");
    char *pStrL = strtok(NULL, "\0");
    if(pStrH == NULL || pStrM == NULL || pStrL == NULL)
    {
        printf("Invalid input!");
    }    
    else
    {
        printf("String1:%s%s\n", pStrH,pStrL);
        printf("String2:%s\n", pStrM);
    }
    
    return 0;
}