




免费预览已结束,剩余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-2026学年高中地理人教版必修1-人教版2004
- 办公室搬家合同(标准版)
- 唱歌 《摇篮曲》说课稿-2025-2026学年初中音乐沪教版九年级下册-沪教版
- 顺德区劳动合同3篇
- 2024-2025学年新教材高中政治 2.1 新民主主义革命的胜利说课稿 新人教版必修第一册
- 医院卫生院2025年人大工作评议实施方案
- 2025年度食品安全风险评估与应急处理合作协议
- 2025年互联网金融服务提供商风险控制保障协议
- 2025医疗设备联网与医院信息化系统集成项目合同
- 2025年度新能源汽车租赁与行业技术人才引进专项合同
- 团员组织关系转接介绍信(样表)
- 高中数学双向细目表
- 处方原则-主要屈光不正的处方原则(验光技术课件)
- U8二次开发参考手册
- DLT5210.1-2021电力建设施工质量验收及评价规程全套验评表格
- 园林机械完整版
- 几何模型“将军饮马”模型(将军饮马、将军遛马、将军造桥)(轴对称模型) 中考数学总复习必会几何模型剖析(全国通用)
- JJG 146-2011量块
- 小学数学思想方法(课件)
- DBJ50-T-389-2021 高性能混凝土应用技术标准
- 智能消防应急照明与疏散指示系统方案
评论
0/150
提交评论