这个解法错在哪了?我在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; }