句子以单词为单位逆序

/*所有单词之间用一个空格隔开,句中除了英文字母,不再包含其他
e.g. Input:  i am a girl

     Output: girl a am i

*/



#include
#include

using namespace std;

char* Inversion(char* s,char* st_output,int len);//功能函数
int main()
{
    char s[100];
    cin.getline(s,100);
    int len=strlen(s);
    char st_output[len];
    Inversion(s,st_output,len);
    cout<<"Befor inversion: "<     cout<<"After inversion: "<     return 0;
}
char* Inversion(char* s,char* st_output,int len)
{
    int j=0;
    char st_tmp[len];
    for(int i=len-1;i>=0;i--)
        st_tmp[j++]=s[i];
    st_tmp[j]='\0';
  //  cout<     int tmp=0,k;
    for(int i=0;i<=len;i++)
    {
        if(st_tmp[i]==' '||st_tmp[i]=='\0')
        {
            j=i-1;
            for(k=tmp;k                 st_output[k]=st_tmp[j--];
            st_output[k]=' ';
            tmp=k+1;
        }

    }
    st_output[len]='\0';
    return st_output;
}

你可能感兴趣的:(C/C++)