- 浏览: 71015 次
- 性别:
- 来自: 大连
最近访客 更多访客>>
最新评论
-
newlangwen1:
你好 我想请教个问题,我运行了一下上面的程序,结果是输入什么就 ...
C程序 对文本行进行排序
3-3 编写函数expand(s1,s2),将字符串s1中类似与a-z一类的速记符号在字符串s2中扩展成等价的完整列表abc...xyz。该函数可以处理大小写字母和数字,并可以处理a-b-c、a-z0-9与-a-z等类似的情况
#include<stdio.h> #include<string.h> void expand(char* result,char* s2); int main() { char *s[] = { "a-d-", "a-b-c","z-a-", "-1-6-", "a-ee-a", "a-R-L", "1-9-1", "5-5", NULL }; char result[100]=""; int i = 0; while ( s[i] ) { expand(result, s[i]); printf("Unexpanded: %s\n", s[i]); printf("Expanded : %s\n", result); printf("helloworld\n"); ++i; } return 0; } void expand(char * s1, char* s2) { static char upper[27]="ABCDEFGHIJKLMNOPQRSTUVWXYZ"; static char lower[27]="abcdefghigklmnopqrstuvwxyz"; static char digits[11] = "0123456789"; int i=0; int j=0; char *start; char *end; char *p; while(s2[i]){ switch(s2[i]){ case '-': if(i==0 || s2[i+1]=='\0') { s1[j]='-'; j++; i++; break; } else { if( (start = strchr(upper,s2[i-1])) && (end = strchr(upper,s2[i+1])))//如果不存在strchr()返回null ; else if( (start = strchr(lower,s2[i-1])) && (end = strchr(lower,s2[i+1]))) ; else if( (start = strchr(digits,s2[i-1])) && (end = strchr(digits,s2[i+1]))) ; else{ fprintf(stderr, "EX3_3: Mismatched operands '%c-%c'\n", s2[i-1], s2[i+1]); s1[j++] = s2[i-1]; s1[j++] = s2[i++]; break; } p=start; while(p!=end){ s1[j]=*p; if(start<end) p++; else p--; j++; } s1[j]=*end; j++; s1[j]='-'; i=i+2; } break; default: if ( s2[i+1] == '-' && s2[i+2] != '\0' ) { ++i; } else { s1[j++] = s2[i++]; } break; } } s1[j] = s2[i]; i++; }
PS 本例中用到了string.h 中的strchr(str,c)函数,用于查找字符c在字符串str中首次出现的位置的指针,如果找不到,则返回null
发表评论
-
C程序 声明与定义的区别
2010-07-30 15:34 1310http://zhidao.baidu.com/questio ... -
C语言 函数指针 与 指针函数
2010-07-30 10:27 919指针函数是返回指针的函数,即本质是一个函数。函数返回类型是某一 ... -
C程序 命令行参数
2010-07-30 09:34 680echo.cpp #include <stdi ... -
C程序 整型数按位取反 输出结果
2010-07-29 15:16 1326#include <stdio.h> int m ... -
C程序 对文本行进行排序
2010-07-26 09:30 999#include <stdio.h> #incl ... -
C语言:malloc()函数与alloc()函数
2010-07-24 10:02 917C语言跟内存分配方式 ... -
C程序设计语言(第二版) 5-4 strend(s,t)
2010-07-23 16:29 1471strend(s,t) 如果字符串t出现在字符串s的尾部,该函 ... -
C程序设计语言(第二版) 5-3 编写strcat()
2010-07-23 16:02 805#include<stdio.h> void ... -
C程序 关于字符串的问题
2010-07-23 15:47 684#include<stdio.h> void ... -
C程序设计语言(第二版)5-2
2010-07-22 17:13 681#include <ctype.h> #incl ... -
C程序设计语言(第二版) 4-14
2010-07-22 11:47 862定义宏swap(t, x, y)以交换t类型的两个参数 ... -
C程序设计语言(第二版) 4-13 递归版本reverse()将字符串倒置输出
2010-07-22 11:18 1003编写一个递归版本的reverse()函数,将字符串倒置 ... -
C程序设计语言(第二版) 4-12
2010-07-22 10:29 1030运用printd函数的设计思想编写一个递归版本的itoa函数, ... -
C程序 递归小例子 快速排序
2010-07-22 09:26 925从执行速度来讲,下列版本的快速排序可能不是最快的,但是它是最简 ... -
C程序 递归实现将数字作为字符串输出
2010-07-21 15:47 1274将一个数字作为字符串打印的情况,数字是反序生成的:低位数字先于 ... -
C语言学习之变量存储
2010-07-21 15:14 873http://zhidao.baidu.com/questio ... -
C语言外部变量的使用以及extern的用法
2010-07-21 15:11 2207http://hi.baidu.com/%C3%E2%B7%D ... -
C语言 全局变量和局部变量
2010-07-21 15:07 1432http://hi.baidu.com/%C3%E2%B7%D ... -
C语言 extern
2010-07-21 11:20 1103在头文件中声明函数时,前面的extern可有可无,只要这些函数 ... -
C程序设计语言(第二版) 4-8 最多只压回 一个字符
2010-07-20 18:47 765#include <stdio.h> i ...
相关推荐
C程序设计语言(第二版-英文版)
学习C语言的书籍 这本书就是发明C的作者写的 肯定差不了
本章任务 任务1 识别异常 任务2 处理异常 任务3 自定义百分制分数异常 任务4 使用throws关键字 Java高级程序设计(第二版)--第2章-异常处理全文共19页,当前为第4页。 2.1 什么是异常 任务1 识别异常 编程实现整数除...
Rust程序设计语言第二版.epub格式Rust程序设计语言第二版.epub格式
Java语言程序设计(第二版)-源代码-贾振华整本书的代码
《计算机科学丛书:C程序设计语言(第2版·新版)》讲述深入浅出,配合典型例证,通俗易懂,实用性强,适合作为大专院校计算机专业或非计算机专业的C语言教材,也可以作为从事计算机相关软硬件开发的技术人员的参考...
最经典的C语言书,没有之一
Rust程序设计语言(第二版) 简体中文版
Rust 程序设计语言 第二版 简体中文版(Rust v1.41)
《C++程序设计语言》(原书第4版)是C++领域最经典的参考书,介绍了C++11的各项新特性和新功能。全书共分四部分。第一部分(第1~5章)是引言,包括C++的背景知识,C++语言及其标准库的简要介绍;第二部分(第6~15章...
Java语言程序设计(第二版)-邵丽萍 课件 主要内容包括:第1章Java快速入门,第2章Java基本语法,第3章Java语句及其控制结构......共12章
C程序设计--适合新手入门--算法入门--内容精简!
C 程序设计语言(第2版)电子版
IBM-PC汇编语言程序设计(第二版)答案.txt
计算机C程序设计语言_第二版新版是计算机类必看的C语言的一本经典你书籍~和谭浩强的《C程序设计》属于同系列
1.1 计算机程序设计语言的发展 1 1.1.1 机器语言与汇编语言 1 1.1.2 高级语言 2 1.1.3 面向对象的语言 2 1.2 面向对象的方法 2 1.2.1 面向对象方法的由来 3 1.2.2 面向对象的基本概念 4 1.3 面向对象的软件...
C程序设计语言第二版 最经典的教材 分两段 全部下载后解压
C程序设计语言第二版中文版,写的很详细,方便自学者使用。
C程序设计语言第二版《英文版》,每个学习C语言人必读的经典著作。
本答案为经典的c圣经《c程序设计语言》英文的配套答案,所列页码均为英文版的。本想整理为pdf格式,考虑到程序能直接运行,最终还是决定为网页格式,希望能给大家的学习带来帮助!感谢给出答案的程序工程师,恕不列...