您的位置:首页 > 其它

简单字符串处理 hdu1062 Text Reverse

2013-08-26 22:23 381 查看
虽然这个题目一遍AC,但是心里还是忍不住骂了句shit!

花了一个小时,这个题目已经水到一定程度了,但是我却在反转这个操作上含糊不清,并且还是在采用了辅助数组的情况下,关系的理顺都如此之难。

其实我是想到了之前那次保研考试,让给数组里面的数换k位,我也是纠结好久没有写出个所以然,郁闷。

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
char ans[1002];
char temp[1002];

void divide(char a[],int n)
{
int cur=0,j=0,pricur=0;
for(int i=0;i<n;i++)
{
if(a[i]==' ')
{
int L=cur-pricur;
for(int x=0;x<L;x++)
{
temp[x+pricur]=a[L-1-x+pricur];
}
for(int x=pricur;x<cur;x++)
{
a[x]=temp[x];
}
cur++;
pricur=cur;
}
else
{
cur++;
}
}
int L=n-pricur;
for(int x=0;x<L;x++)
{
temp[x+pricur]=a[L-1-x+pricur];
}
for(int x=pricur;x<n;x++)
{
a[x]=temp[x];
}
}

int main()
{
int T,i;
scanf("%d",&T);
getchar();
while(T--)
{
gets(ans);
divide(ans,strlen(ans));
puts(ans);
}

return 0;
}


hdu 1062 Text Reverse
找规律什么的还有待改进,这速度有点慢。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: