3478 - 2014-Freshman-06-Mirror
Time Limit : 1 秒
Memory Limit : 128 MB
站在一面镜子前,你会注意到你T恤上的文字翻转过来了。头发的某一部分在镜像中也切换到了另一边。本是长在左耳上的痣,在镜中却长在右耳上。在你面前站着的是一个完全颠倒的身体结构。左变成右,右变成左,而上还是上,下也还是下。彷佛镜子知道颠倒左右,却不知道颠倒上下。
<span style="font-family:'微软雅黑','sans-serif';background:white;color:#333333;font-size:10.5pt;"></span><span style="font-family:'微软雅黑','sans-serif';color:#333333;font-size:10.5pt;"></span>
<span style="font-family:'微软雅黑','sans-serif';background:white;color:#333333;font-size:10.5pt;"> 情况并不是这样的,当然,镜子毫不知晓你的姿态,它只是简单地反射打在它上面的光线,像任何静物都知道的那样客观地反射。然而为什么,又是什么时候反射光会形成左右翻转的镜像落在你的眼睛里呢?</span><span style="font-family:'微软雅黑','sans-serif';color:#333333;font-size:10.5pt;"></span>
<span style="font-family:'微软雅黑','sans-serif';background:white;color:#333333;font-size:10.5pt;"> 回答很简单,反射光没有形成左右翻转的镜像。事实上,什么使水平轴在镜面反射的情况下如此特殊这个问题是镜子自身的缺陷造成的。因为镜子并不会反转左右或上下,而是反转前后。换句话说,你的镜像是沿着三维空间来反转的,就像一只手套的里面翻外面一样。<span></span></span>
<span style="font-family:'微软雅黑','sans-serif';background:white;color:#333333;font-size:10.5pt;"> 今天小明了解<span><a href="http://jandan.net/2013/01/07/mirrors-reverse.html"><span style="font-family:宋体;color:windowtext;text-decoration:none;"><span>镜子反转左右而非上下之谜</span></span></a></span>之后,他在自己的练习本中倒着写单词,现在给你一行小明写的文本,你能把每个单词都反转并输出它们吗?<span></span></span>
Input
每个测试样例占一行,包含多个单词。一行最多有1000个字符。
Output
对于每一个测试样例,你应该输出转换后的文本。
Examples
Input Format
olleh !dlrow I ekil .bulcmca I evol .mca
Output Format
hello world! I like acmclub. I love acm.
Solution C
int main(int argc, char* argv[]) {int i,l,s,e,j,k; char a[1001],tem; while(gets(a)) { l=strlen(a); a[l]=' '; k=0; for(i=0;i<=l;i++) {if(i==0&&a[i]!=' '||(a[i-1]==' '&&a[i]!=' ')){s=i;k++;} if(i!=0&&a[i]==' '&&a[i-1]!=' '){e=i-1;k--; for(j=s;j<=(s+e)/2;j++){tem=a[j];a[j]=a[s+e-j];a[s+e-j]=tem;} for(j=s;j<=e;j++)printf("%c",a[j]);} if(i!=l&&k==0)printf(" "); } printf("\n"); } return 0;}