您的位置:首页 > 其它

hoj10240----包括汉字字符的字符串逆置

2011-07-11 19:44 281 查看
本题主要是汉字字符的判断问题:表示汉字字符的前一个字节一定小于零,第二个字节可能大于零。

关键思路:用一个结构体模拟,从头开始扫描字符数组,将每个字符依次存在结构体中。

#include <stdio.h>
#include <string.h>

typedef struct node
{
int flag;//flag=0表示是汉字字符
int i,j;//表示代表字符的位置
}node;

int main()
{
char str[2088];
node f[2088];
int  n,len,flen;
int  i;

scanf("%d",&n);
getchar();//注意容纳回车

while(n>0)
{
gets(str);
len=strlen(str);
flen=0;

for(i=0;i<len;)
if(str[i]>0)
{
f[flen].flag=1;
f[flen].i=i;f[flen].j=0;
++i;
flen++;
}
else
{
f[flen].flag=0;
f[flen].i=i;f[flen].j=i+1;
i+=2;
flen++;
}

for(i=flen-1;i>=0;--i)
if(f[i].flag)
printf("%c",str[f[i].i]);
else
printf("%c%c",str[f[i].i],str[f[i].j]);

printf("\n");
n--;
}

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐