c程序设计语言官方题解版勘误1
#include <stdio.h>
#define MAXHIST 15
#define MAXWORD 11
#define IN 1
#define OUT 0
//打印输入中单词长度的水平方向直方图,
void main()
{
int c, i, nc, state;
int len; //length of each bar
int maxvalue; //maximum value for wl[]
int ovflow; //number of overflow words
int wl[MAXWORD]; //word length count
state = OUT;
nc = 0; //number of chars in a word
ovflow = 0;
for (i = 0; i < MAXWORD; ++i)//数组初始化
wl[i] = 0;
while((c = getchar()) != EOF){
if (c == ' ' || c == '\n' || c == '\t'){
state = OUT;
if(nc > 0)
if(nc < MAXWORD)
++wl[nc];
else
++ovflow;
nc = 0;
}else if (state == OUT){
state = IN;
nc = 1;
}else
++nc;
}
maxvalue = 0;
for (i = 1; i < MAXWORD; ++i)
if (wl[i] > maxvalue)
maxvalue = wl[i];
for (i = 1; i < MAXWORD; ++i){
printf("%5d - %d : ",i, wl[i]);
if(wl[i] > 0) {
if((len * wl[i] * MAXHIST / maxvalue) <= 0)
len = wl[i];//书上此处本来为len = 1
}else
len = 0;
while (len > 0){
putchar('*');
--len;
}
putchar('\n');
}
if (ovflow > 0)
printf("There are %d words >= %d\n", ovflow, MAXWORD);
}
相关文档:
第一章 导言
1,定义(define)与声明(declaration)
定义表示创建变量或分配存储单元;而声明指的是说明变量的性质,但不分配存储单元。
第二章 类型、运算符和表达式
1,数据类型及长度
C中只有4种基本数据类型:char ,int ,float ......
C语言文件操作接触很久了,一直没有总结相关内容,今天用到了就去找了找相关内容。
在ANSI C中,对文件的操作分为两种方式,即流式文件操作和I/O文件操作
typedef struct {
int level; /* fill/empty level of buffer */
unsigned flags; /* File status flags */
char fd; /* File descriptor */
unsigned char hold ......
一个简单的小程序, 原题目见<C语言程序设计-现代方法>第八章练习13.
由于自己只看到第八章, 所以, 不敢贸然使用函数等其他内容, 高手请放声大笑.
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#define ROWS 10
#define COLS 10
/**
* @author: selfimpr
* @blog: http:// ......
什么是回调函数?
简而言之,回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,我们就说这是回调函数。
为什么要使用回调函数?
因为可以把调用者与被调用者分开。调用者不关心谁是被调用者,所有它需知道的,只是存在 ......
1、开发环境请参考《搭建ACE-5.7.4+VS2008开发环境》一文
2、gSOAP库,下载地址:http://gsoap2.sourceforge.net/,本文使用的版本是:gsoap_2.7.15,gSOAP的编程可以参考doc目录下的soapdoc2.pdf,官方文档写的非常详细。
让我们开始gSOAP编码旅程:
1、创建gsoap_server.h:
//gsoap ns2 service namespace: http://l ......