POJ C程序设计进阶 编程题#1:单词翻转

编程题#1:单词翻转

来源: POJ (Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩。)

注意: 总时间限制: 1000ms 内存限制: 65536kB

描述

输入一个句子(一行),将句子中的每一个单词翻转后输出。

输入

只有一行,为一个字符串,不超过500个字符。单词之间以空格隔开。

输出

翻转每一个单词后的字符串,单词之间的空格需与原文一致。

样例输入

hello world

样例输出

olleh dlrow

 


#include<iostream>
#include<stdio.h>
#include<string.h>

int main() 
{
    int i = 0, j , k;
    char s[501], temp;
    gets(s);
    while(s[i])
    {
        while (s[i] == ' ') i++;
        if(!s[i]) break;
        j = i;
        while(s[j] != ' '&&s[j]) j++;
        for (k = i; k < (i + j) / 2; k++)
        {
            temp = s[k];
            s[k] = s[j-1+i-k];
            s[j-1+i-k] = temp;    
        }
        i = j;
    }
    printf("%s
",s);
    return 0;
}
原文地址:https://www.cnblogs.com/dagon/p/4710474.html