关于#c语言#的问题:输入格式第一行是一个句子,以回车结束输出格式输出句子中第3个单词

由键盘输入一个句子(由字母构成,无标点符号,最长不超过80个字符,以回车符表示结束),单词之间由一个或多个空格分割,要求输出句子中第3个单词。

输入格式
第一行是一个句子,以回车结束
输出格式
输出句子中第3个单词,如果不存在第3个单词则不输出
输入样例
I am soldier I love my country
输出样例
soldier

img

img


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

int main(int argc, char *argv[])
{
    char s[81], word[20];
    int i;
    scanf("%80[^\n^\r]s", s);
    char *p = s;
    for (i = 0; i < 3 && sscanf(p, "%s", word) == 1; i++)
    {
        while (*p == ' ')
        {
            p++;
        }
        p += strlen(word);
        while (*p == ' ')
        {
            p++;
        }
    }
    if (i == 3)
        puts(word);

    return 0;
}