将字符串中的单词逆序输出(法三)

#include
#include
void reverse_order(char str[])
{
    int len = strlen(str);
    int i = 0;
    for( i = len - 1 ; i >= 0 ; i-- )
    {
        printf("%c",str[i]);
    }
}
int main()
{
    char arr[128] = { '\0' };
    char str[20] = { '\0' };
    char s[20] = { '\0' };
    int i = 0;
    int z = 0;
    int k = 0;
    gets(arr);
    for( i = 0 ; i < strlen(arr) ; i++)
    {
        if( i == 0 || arr[i] != ' ' )
        {
            str[z] = arr[i];
            z++;
            if( arr[i+1] == ' ' || i == strlen(arr) - 1 )
            {
                str[z] = '\0'; // 运用到strlen函数的性质 遇到'\0'结束
                reverse_order(str);
                z = 0;
            }
        }
        else
        {
            printf(" ");
        }
    }
    return 0;
}

你可能感兴趣的:(算法,数据结构)