摘要: /************************************************************************** 类型:<c程序设计语言(第二版.新版)> 练习 2-3 名称:lx.c author: wubenzhimu data: 2012.11.16 功能:编写函数htio(s),把由16进制数字组成的字符串(包含可选的前缀0x或0X) 转换为与之等价的整数值。字符串中可以包含的数字包括:0-9,a-f,A-F。**************************************************... 阅读全文
posted @ 2012-11-16 21:52 无本之木a 阅读(2731) 评论(0) 推荐(0) 编辑
摘要: /************************************************************************** 类型:<c程序设计语言(第二版.新版)> 练习 1-22 名称:lx.c author: wubenzhimu data: 2012.11 功能:编写一个程序,把较长的输入行“折”成短一些的两行或多行,折行的 位置在输入行的第n列之前的最后一个非空格之后。要保证程序能够智能地处理 输入行很长以及在指定的列前边没有空格或制表符时的情况。*********************************... 阅读全文
posted @ 2012-11-12 21:40 无本之木a 阅读(481) 评论(0) 推荐(0) 编辑
摘要: /******************************************************************** 类型:<c程序设计语言(第二版.新版)> 练习 1-21 名称:lx.c author: wubenzhimu data: 2012.11 功能:编写程序entab,将空格串替换为最少数量的制表符和空格, 但要保证单词之间的间隔不变。假设制表符终止位的位置与练习 1-20的detab程序的情况相同。当使用一个制表符或者一个空格都 可以到达下一个制表符终止位时,选用哪一种替换字符比较好。**********... 阅读全文
posted @ 2012-11-09 22:32 无本之木a 阅读(1291) 评论(2) 推荐(0) 编辑
摘要: 开始一点点测试,发现的制表符的特性,但是数学太差,没能总结出公式来!上网查了一下原来有公式,才把这个程序搞定#include <stdio.h>#define DETAB 8 //制表符默认长度void main(){ int c; int ch = 1; /* 当前字符位 */ int nbspNum = 0; /* 输出空格数 */ while ( (c=getchar()) != EOF ) { if ( c == '\t' ) { /** * 说明: ... 阅读全文
posted @ 2012-11-06 22:09 无本之木a 阅读(1409) 评论(0) 推荐(0) 编辑
摘要: 书中给的例题:#include <stdio.h>#define MAXLINE 1000 /* 输入的最大长度 */int getline( char line[], int maxline );void copy( char to[], char form[] );void main(){ int len; /* 当前行长度 */ int max; /* 目前为止发现的最长行的长度 */ char line[MAXLINE]; /* 当前的输入行 */ char longest[... 阅读全文
posted @ 2012-11-04 21:08 无本之木a 阅读(300) 评论(0) 推荐(0) 编辑
摘要: 程序不是很复杂,就是调节显示样式花点时间!!#include <stdio.h>#define LENGTH 10/* 打印输出单词的长度的直方图 */void main(){ /* x_length 单词的长度 */ int x_length, c, i, j; int arr[LENGTH] = {0}; x_length = i = j = 0; while ( (c = getchar() ) != EOF ) { if ( c == ' ' || c == '\n' || c == '\t') { ... 阅读全文
posted @ 2012-11-04 19:27 无本之木a 阅读(156) 评论(0) 推荐(0) 编辑
摘要: #include <stdio.h>/* 要求: 将输入复制到输出的程序,并将其中连续的多个空格用一个空格代替 */void main(){ int kg, c; kg = 0; while ( ( c = getchar() ) != EOF ) { if ( c == ' ' ){ kg++; } else { kg = 0; } if ( kg <= 1 ) { putchar ( c ); ... 阅读全文
posted @ 2012-11-04 17:37 无本之木a 阅读(198) 评论(0) 推荐(0) 编辑
摘要: #include <stdio.h>/* 要求: 统计空格符,制表符与换行符的个数 */void main(){ int kg, zb, hh, c; kg = zb = hh = 0; while ( ( c = getchar() ) != EOF ) { if ( c == ' ' ) { kg++; } else if ( c == '\t' ) { zb++; } else if ( c == '\n' ) ... 阅读全文
posted @ 2012-11-04 17:22 无本之木a 阅读(345) 评论(0) 推荐(0) 编辑
摘要: #include <stdio.h>/* 输入三个数 从大到小输出 */void main(){ void exchange(int *q1, int *q2, int *q3); int a, b, c, *q1, *q2, *q3; scanf("%d %d %d", &a, &b, &c); q1 = &a; q2 = &b; q3 = &c; exchange( q1, q2, q3 ); printf("%d %d %d\n", a, b, c);}void exchange( int 阅读全文
posted @ 2012-11-03 22:57 无本之木a 阅读(481) 评论(0) 推荐(0) 编辑
摘要: c中,如果往一个方法里传入两个以上的值时,使用的编译器不同,它运行的书序也是不一样的!!本程序通过 vc6.0 测试#include <stdio.h>void main(){ int f( int a, int b ); int i = 2, p; p = f( i, ++i ); printf( "%d\n", p );}int f ( int a, int b ){ int c; if ( a > b ) { c = 1; } else if ( a == b ) { c = 0; ... 阅读全文
posted @ 2012-10-31 23:04 无本之木a 阅读(190) 评论(0) 推荐(0) 编辑