将一句话中的单词倒序输出并不改变其标点

#include<string.h>
#include<stdio.h> 
#include<math.h>
void main()
{
    int i=0,j=0,top,bot;
    char str[100],temp;
    gets(str);

    j=strlen(str)-1;
    while(i<j)     
    {   temp=str[i];
        str[i]=str[j];
        str[j]=temp;
        i++;j--;
    }
    //printf("%s\n",str);
    i=0;
    while(str[i]!='\0')       
    {
        if(str[i]!=' ') 
        {
            top=i;               
            while(str[i]!='\0'&&str[i]!=' ')
            i++;
            bot=i-1;           
        }
        while(bot>top)
        {
            temp=str[top];
            str[top]=str[bot];
            str[bot]=temp;
            top++;bot--;
        }
        i++;
    }

    printf("%s\n",str);
}

将一句话中的单词倒序输出并不改变其标点_第1张图片

你可能感兴趣的:(将一句话中的单词倒序输出并不改变其标点)