//这个似乎是微软比较早的笔试题了,这里偶给出一个简单实现.
//字符串倒序输出。For Ex:The quick fox jumps over a lazy dog.
//The result is: dog lazy a over jumps fox quick The
#include<iostream>
using namespace std;
const int N = 256;
void Revert(char* str)
{
assert(str != NULL);
int len = strlen(str);
char *p = str;
char *q = str + len -1;
while(p < q)
{
*p ^= *q;
*q ^= *p;
*p ^= *q;
++p;
--q;
}
}
int main()
{
char str[]="The quick brown fox jumps over a lazy dog";
char word[30][15];
cout<<str<<endl;
Revert(str);
char *q = str;
char *T = str;
int k = 0;
while( *q != '/0')
{
int le = 0;
while(*q != '/0' && *q != ' ')
{
++le;
++q;
}
if(*q == ' ' || *q == '/0')
{
char *p = new char[le + 1];
memset(p,0,le+1);
strncpy(p,T,le);
Revert(p);
cout<<p<<endl;
strcpy(word[k++],p);
delete []p;
}
if(*q == '/0')
{
break;
}
T = ++q;
}
int i;
for(i=0;i<k;++i)
{
cout<<word[i]<<' ';
}
cout<<endl;
system("pause");
return 0;
}