




免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
习题1-13(垂直方向直方图):编写一个程序打印输入中单词长度的垂直方向的直方图。View Code 1 #include 2 #define IN 1 /* 在单词内部 */ 3 #define OUT 0 /* 在单词外部 */ 4 #define MAXLEN 15 /* 单词的最大长度 */ 5 #define MAXHIST 15 /* 直方图的最大长度 */ 6 #define MAXWORD 100 /* 限制输入单词的上限 */ 7 8 int wlMAXWORD; /* 用于存放单词长度的数组 */ 9 10 /* 打印垂直方向的直方图 */11 void main()12 13 char c;14 int i, j;15 int len = 0; /* 当前单词的长度 */16 int wc = 0; /* 统计单词的个数 */17 int state = OUT; /* 状态初始化为在单词外部 */18 int maxvalue; /* 单词中最大长度 */19 for (int k=0; k MAXLEN)25 len = MAXLEN;26 wl+wc = len;27 28 len = 0;29 state = OUT;30 else if (state = OUT) 31 state = IN;32 len+;33 else34 len+;35 36 if (wc MAXWORD)40 wc = MAXWORD;41 maxvalue = 0;42 for (i=1; i maxvalue)44 maxvalue = wli;45 46 /* 实现垂直直方图 */47 for (i=MAXHIST; i0; -i) 48 for (j=1; j= i) 50 printf( * );51 else52 printf( );53 putchar(n);54 55 for (i=1; i=wc; i+)56 printf( %d , wli);57 putchar(n);58 RT:垂直直方图和水平直方图程序在统计单词个数之前都是一致的,垂直直方图使用另外一种处理方式。 习题1-14:编写一个程序,打印输入中各个字符出现频度的直方图。View Code 1 #include 2 #include 3 #define MAXHIST 15 /* 直方图长度上限 */ 4 #define MAXCHAR 128 /* 出现的字符上限 */ 5 6 /* 统计输入中各个字符的直方图 */ 7 void main() 8 9 char c;10 int i;11 int charlen; /* 字符出现的频度 */12 int chMAXCHAR; /* 保存所有字符的数组 */13 for (i = 0;i MAXCHAR; i+)14 chi = 0;15 while (c=getchar() != EOF) 16 if (c MAXCHAR)17 +chc;18 19 for (i = 1; i MAXHIST)21 chi = MAXHIST;22 23 /* 输出水平方向直方图 */24 for (i = 1; i MAXCHAR; +i) 25 charlen = chi;26 if (charlen 0) 33 putchar(*);34 -chi;35 36 putchar(n);37 38 RT:从打印的结果来看,第一个是不可显示的换行符,第二个是空格,其余是字母。习题:重新编写1.2节中温度转换程序,使用函数实现温度转换计算。View Code 1 #include 2 #define MAXHIGH 300 /* 温度表的上限 */ 3 4 int getcelsius(int); /* 函数声明 */ 5 6 /* 使用函数来实现温度转换功能 */ 7 void main() 8 9 int low, temp, celsius;10 low = 0; /* 温度表的下限 */11 temp = 20; /* 步长 */12 for (; low = MAXHIGH; low += temp) 13 celsius = getcelsius(low); /* 使用函数获取转换后的温度 */14 printf(%dt%dn, low, celsius);15 16 17 18 /* getcelsius:获取转换后的温度 */19 int getcelsius(int temp)20 21 return (5 * (temp-32) /9);22 RT:本题结果和习题1-3一样,只是本程序在原来的基础上使用了函数。习题1-16:修改打印最长文本行的程序的主程序main,使之可以打印任意长度的输入行的长度,并尽可能的多打印文本。View Code 1 #include 2 #define MAXLINE 1000 3 4 int getline(char line, int maxline); 5 void copy(char to, char from); 6 7 /* 打印出输入中最长的行 */ 8 main() 9 10 char lineMAXLINE; /* 当前输入的行 */11 char maxlineMAXLINE; /* 用于保存最长的行 */12 int len, maxlen; /* 当前行的长度以及保存最长行的长度 */13 len = maxlen = 0;14 while (len = getline(line, MAXLINE) 0) 15 printf(%d, %sn, len, line);16 if (len maxlen) 17 maxlen = len;18 copy(maxline, line);19 20 21 if (maxlen 0)22 printf(%sn,maxline);/* 字符数组即字符串,相当于双引号内的赋值 */23 return 0;24 25 26 /* getline:获取当前行 */27 int getline(char s, int max) 28 int c, i, j;29 j = 0;30 for (i = 0; (c = getchar() != EOF & c != n; +i) 31 if (i max -2) 32 sj = c;33 +j;34 35 36 if (c = n) 37 si = c;38 +i;39 +j;40 41 si = 0;42 return i;43 44 45 /* copy:字符数组的拷贝 */46 void
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 注册会计师考试2025年资产评估中的法律问题分析试题及答案
- 证券从业资格证的考试资料试题及答案
- 证券从业资格的细致复习试题及答案
- 项目管理考试在线学习方式试题及答案
- 理解商品市场与金融市场的关系试题及答案
- 如何有效防止实验室交叉污染试题及答案
- 微生物实验中使用的实验动物类型试题及答案
- 如何制定2024年行政管理师考试的复习计划试题及答案
- 微生物检验技师实操能力考察试题及答案
- 深入探讨行业变化的证券从业资格证试题及答案
- 8.6《林黛玉进贾府》课本剧剧本
- 泌尿系统中药方
- GB/T 13290-2014工业用丙烯和丁二烯液态采样法
- GA 884-2018公安单警装备催泪喷射器
- 六年级家长会完整版课件
- 调动人员登记表
- 量子力学全套课件完整版电子教案最新板
- 煤矿标准成本消耗定额(定额装订版)
- 【越南】环境保护法
- 《C语言程序设计》教案(清华谭浩强)
- 行政管理工作流程优化方案
评论
0/150
提交评论