C程序设计语言习题(3-3)
2013-10-14 01:54
381 查看
编写函数expand(s1,s2), 将字符串s1中类似于a-z一类的速记符号在字符串s2中扩展为等价的完整列表abc……xyz。该函数可以处理大小写字母和数字,并可以处理a-b-c、a-z0-9与a-z等类似的情况。作为前导和尾随的字符原样复制
#include<stdio.h> #include<ctype.h> #include<string.h> int judge(char a, char b) //判断'-'两端的字符是否符合速记符号扩展的要求 { if(isdigit(a) && isdigit(b)) { if(a < b) return 1; } if(isalpha(a) && isalpha(b)) { if(isupper(a) && isupper(b)) return 1; if(islower(a) && islower(b)) return 1; } return 0; } void expand(char *s, char *t) { int i, j; char c; i = j = 0; while((c = s[i++]) != '\0') { if((s[i] == '-') && judge(c,s[i + 1])) { i++; while(c < s[i]) t[j++] = c++; } else { t[j++] = c; } } s[j] = '\0'; } int main() { char a[1000],b[1000]; gets(a); expand(a,b); printf("%s\n",b); return 0; }
相关文章推荐
- C程序设计语言习题(3-5)
- Devexpress控件中gridcontrol Drag a column header here to group by that column 更换
- 自己写Lucene分词器原理篇——CJKAnalyzer简单讲解
- 读写
- FlashBuilder(FB/eclipse) 打开多个无效
- [week6]每周总结与工作计划
- C程序设计语言习题(1-12)
- 也谈 C++ 的虚函数表
- Android之动态改变控件大小
- 4Sum 数组中寻找四个数满足a+b+c+d=target
- eclipse + pydev 配置python环境
- 蓝港在线笔试经验
- 寻找两个有序数组合并之后的中位数
- MySQL Batch Fetch 限制
- android适配各种分辨率的问题
- MFC之光标移动,捕获提示
- c# 选择文件与选择文件夹
- JAR的部分混淆
- c# 读写txt
- 用proto命令生成java文件