c语言数组题求教,我是初学者

2025-03-25 08:41:17
推荐回答(2个)
回答1:

测试通过:

#include 
#include 

int main()
{
    char str[] = "you can cage a swallow can't you?";
    char arr[10][10] = { '\0' };
    int i, index = 0, pos = 0;    /* index指的是第几个单词,pos指的是该单词第几个字母 */

    for (i = 0; i < (int)strlen(str); i++)
    {
        if (str[i] == '?' || str[i] == '!' || str[i] == '.')
        {
            index++;
            pos = 0;
            arr[index][pos] = str[i];
            break;
        }
        else
        {
            if (str[i] != ' ')
            {
                arr[index][pos] = str[i];
                pos++;
            }
            else
            {
                arr[index][pos] = '\0';
                index++;
                pos = 0;
            }
        }
    }

    puts(str);
    for (i = index - 1; i >= 0; i--)
        printf("%s ", arr[i]);
    printf("%s\n", arr[index]);

    return 0;
}

回答2:

貌似有点难也