杭电acm 1062 WA 请高手帮我看看啊 谢谢

http://acm.hdu.edu.cn/showproblem.php?pid=1062#include<stdio.h>#include<string.h>intm... http://acm.hdu.edu.cn/showproblem.php?pid=1062
#include<stdio.h>
#include<string.h>
int main()
{ int n;
char a[1005];
scanf("%d",&n);
getchar();
while(n--)
{ gets(a);
int i,length,j,t,flag=0;
char b[1005];
t=-1;
length=strlen(a);
//printf("%d\n",length);
// printf("%d\n",length);
for(i=0;i<length;i++)
{ if(a[i]!=' ' && i+1!=length) {flag=1; b[i]=a[i];}//flag标记空格前是否为字符
else if(flag==1)
{
if(i+1==length) {b[i]=a[i]; i++;}
for(j=i-1;j>t;j--)
printf("%c",b[j]);
if(i+1!=length) printf("%c",a[i]);
flag=0;
b[i]=a[i];
t=i;
}
else {t=i ; b[i]=a[i];printf("%c",a[i]);}

}

printf("\n");

}
}
展开
 我来答
porker2008
2011-08-11 · TA获得超过1.4万个赞
知道大有可为答主
回答量:7066
采纳率:62%
帮助的人:1.1亿
展开全部
#include<stdio.h>
#include<string.h>
int main()
{
int n;
char a[1005];
scanf("%d",&n);
getchar();
while(n--)
{
gets(a);
int i,length,j,t,flag=0;
char b[1005];
t=-1;
length=strlen(a);
//printf("%d\n",length);
// printf("%d\n",length);
for(i=0;i<length;i++)
{
if(a[i]!=' ' && i+1!=length)
{
flag=1;
b[i]=a[i];
}//flag标记空格前是否为字符
else if(flag==1)
{
if(a[i]!=' '&&i+1==length) // 这里需要判定最后一个是不是空格
{
b[i]=a[i];
i++;
}
for(j=i-1;j>t;j--)
printf("%c",b[j]);
if(i!=length && a[i]==' ') // 这里应该对i而不是i+1进行判定
printf("%c",a[i]);
flag=0;
b[i]=a[i];
t=i;
}
else
{
t=i ;
b[i]=a[i];
printf("%c",a[i]);
}
}
printf("\n");
}
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式