有奖解题(二)
在其它论坛看到的,转来大家做一下。
将字符串中的单词反向打印。
例:"today is a hot day"
"day hot a is today"
注意:
1。 "" 不是打印内容
2。不能多出字符。
此题时限三天,三天之内最佳者有奖励。
对,空格,字符数不能变。
void fun(char*s); int main() { char*string="today is a hot day" ; fun(string); printf("%s",string); getch(); } void fun(char*s)
{ char*a,*t,*y ;
t=s ; while(*t++); a=--t ; while(t-s>=0) { if(*t==' '||t-s==0) { y=t-s?t+1:t ; while(a-y)printf("%c",*y++); if(t-s)printf(" "); a=t ; } t--; } printf("\n"); }
我觉得我的算法还是太烦,感觉应该还有更精练的算法。