这个解法错在哪了?我在VC++6.0上是正确的呀
【中级】单词倒排
http://www.nowcoder.com/questionTerminal/81544a4989df4109b33c2d65037c5836
#include <stdio.h>
#include <string.h>
#define TRUE 1
#define FALSE 0
int isChar(char c)
{
if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))
return TRUE;
return FALSE;
}
int main()
{
char str[10000];
char str2[20];
int len=0;
int i=0,j=0,k=0;
int flag=1;
gets(str);
len = strlen(str);
for(i=len-1;i>=0;i--)
{
if(isChar(str[i])==FALSE)//不是字母
{
if(flag==1)
{
flag = 0;
printf(" ");
}
for(j=0;j<k;j++)
{
str2[j] = str[i+j+1];
}
str2[j] = '\0';
if(k!=0)
printf("%s",str2);
k = 0;
}
else//是字母
{
k++;
flag = 1;
if(i==0)
{
for(j=0;j<k;j++)
{
str2[j] = str[j];
}
str2[j] = '\0';
printf("%s",str2);
}
}
}
return 0;
}
