编程题#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; }