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

相关推荐

点赞 评论 收藏
分享
11-28 17:48
中山大学 C++
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务