这是题目
这是结果
下面是我的代码
#include <stdio.h>
#include <string.h>
int main()
{
char s[500000];
int ifk=1,len,b=0,count=0;//ifk用来指示前一位是否为空格
gets(s); //b指示是否为开头的单词
len=strlen(s);
for(int i=len-1;i>=0;i--)
{
if(s[i]==' '||i==0)
{
if(i==0||ifk==0)
{
if(i==0&&s[0]!=' ')printf("%c",s[0]);
for(int j=1;j<=count;j++)
{
printf("%c",s[i+j]);
}
if(i!=0)printf(" ");
b=1;
}
ifk=1;
continue; //跳过连续的空格
}
else if(ifk==1)
{
count=1;
ifk=0;
}
else count++; //记录单词长度
}
return 0;
}
上面说样例“最小值前有空格”我格式错误,然而我试了很多遍
如空格+abc
是没有任何问题的
求大神指出我的问题!