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; }
相关文章推荐
- ASP 检测字符串是否包括汉字、数字、韩文、日文,以及其他语种字符的方法
- ORACLE_从字符串中提取汉字(不包括全角符及日文韩文等字符)
- 【google 2006年笔试题】 在一个字符串中找到第一个只出现一次的字符(包括普通汉字)
- ASP 检测字符串是否包括汉字、数字、韩文、日文,以及其他语种字符的方法
- 实现汉字的凯撒密码(内容包括:去掉字符串中的转义字符、汉字的unicode转换)
- 编写函数去除字符串中包含的非字母字符(不包括空格)
- C++中数字与字符串之间的转换(包括C++11新标准和宽窄字符转换)
- JS判断字符串长度(英文占1个字符,中文汉字占2个字符)
- JS获取字符串长度(英文占1个字符,中文汉字占2个字符)
- 一级菜单不超过4个汉字或8个字母,以字节数为限制条件,包括汉字和字母(此例汉字默认等于3个字节,字母字符为1个字节)
- java 如果判断一个字符串中有多少个中文字符,中文汉字
- 获取包含中文,字母,数字集合的字符串的长度(1个汉字字符存储需要2个字节,1个英文字符存储需要1个字节)
- 截取指定长度的字符串,区分汉字和字符
- 读入一行字符(包括空格)做为一个字符串的两个方法 ,C/C++
- php 将字符(包括汉字) 转换成16进制 (apache access log 中文显示16进制码)
- 获取字符串(包括汉字)的长度
- 对于给定的一个字符串,统计其中数字字符出现的次数。输入数据有多行,第一行是一个整数n,表示测试实例的个数,后面跟着n行,每行包括一个由字母和数字组成的字符串。
- PHP截取字符串---汉字算2个字符并且防止截出乱码
- JAVA验证字符串长度(包括汉字)
- 截字符串(汉字一个算两个字符,英文算一个字符)