zoj1151

题目大意:

一列单词,反置每个单词,但是不改变单词的顺序

解题思路:

代码如下:

#include 
#include


void revesestr(char *str,int start,int end){
    char temp;
    while(startstr[start];
        str[start++]=str[end];
        str[end--]=temp;
    }
}
void reveseword(char *str){
    int start,end,len;
    len=strlen(str);
    start=end=len-1;
    while(start>=0){
        if(str[start]==' ' ||start==0){
            len=start;
            if(start!=0)
            ++start;
            revesestr(str,start,end);
            end=start=len-1;
        }
        else
        --start;
    }
}

int main()
{
    int n,i,m,j,slen,start,end;
    char str[1000];
    int mm;
    scanf("%d",&n);
    mm=n;
    while(n--){
        scanf("%d",&m);
        if(n!=mm-1)
            printf("\n");
        getchar();
        while(m--){
        gets(str);
        reveseword(str);
        puts(str);
        }
    }
    return 0;
} 


你可能感兴趣的:(zoj)