反转字符串中的单词

反转字符串中的单词,腾讯笔试训练题

#include 
#include 
#include 
using namespace std;

void reverseStr(char *str, int start, int end){
    int len = end-start+1;
    if(len <= 0) return;

    char temp;
    for(int i=0; i2; i++){
        temp = str[start+i];
        str[start+i] = str[end-i];
        str[end-i] = temp;
    }
}

int main()
{
    char input[1024];
    gets(input);

    reverseStr(input,0,strlen(input)-1);

    int start = 0;
    int end = 0;
    while(true){
        while(input[end] != ' ' && input[end] != '\0') end++;
        reverseStr(input,start,end-1);
        if(input[end] == '\0') break;
        end++;
        start = end;
    }
    printf("%s\n",input);
    return 0;
}

你可能感兴趣的:(水题)