关于#c语言#的问题,请各位专家解答!

![img](https://img-mid.csdnimg.cn/release/static/image/mid/ask/484629176776167.png "#left"
例子
输入 i am a boy
输出 boy a am i


#include<stdio.h>
#include<stdlib.h>
#include<string.h>
//一句话的单词倒序输出  
void reverse(char *left,char *right)
{
    char temp = 0;
    while (left < right) {
        temp = *left;
        *left = *right;
        *right = temp;
        left++;
        right--;
    }
}
 
int main()
{
    char arr[100] = { 0 };
    gets(arr);
    //整体倒置
    int len = strlen(arr);
    reverse(arr, arr + len - 1);

    printf("%s\n", arr);

    //每个单词逆序
    char* start = arr;
    while (*start)
    {
        char* end = start;
        while (*end != ' ' && *end != '\0')
        {
            end++;
        }
        reverse(start,end -1);
        if (*end == ' ')
            start = end + 1;
        else
            start = end;
    }
    printf("%s\n", arr);
 
    return 0;
}

如有帮助,欢迎点赞+采纳哈!

#include<iostream>
using namespace std;
#include <string>
int main()
{
    string str;
    cin>>str;
int i,j;
char t;    
    for(i=0,j=str.size()-1;i<j;i++,j--)
    {
        t=str[i];
        str[i]=str[j];
            str[j]=t;
    }
    cout<<str;
    return 0;
}