短学期算法与编程实验报告.doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
短学期算法与编程实验报告

算法与编程实验报告 姓名: 学号: 班级: 专业: 指导教师: 一 统计字母的使用频率 1 问题详细描述 为统计英文字母的使用频率,输入一个不包括空格的由英文字母组成的字符串,长度不超过200个字符。统计26个英文字母的使用频率,不区分大小写。最后按使用频率从大到小输出字母(小写字母)和使用频率(出现的次数)。 2 流程图 3 源代码 #include stdio.h #include string.h #define MAXLENGTH 200 //定义最大长度 int a[26]; //定义26个英文字母 void init_a (); //初始化数组 void total (char * p); // 输入字符数统计 void main () { int i, j, max; char str[MAXLENGTH]; scanf (%s, str); //读入字符串 init_a (); total (str); printf (26个英文字母使用频率如下:\n); for (i = 0; i 26; i++) { max = 0; for (j = 0; j 26; j++) if (a[max] a[j]) max = j; printf (%c: %d 次\n, 97 + max, a[max]); a[max] = -1; } } void init_a () { int i; for (i = 0; i 26; i++) a[i] = 0; } void total (char * p) { int i, y; for (i = 0; i strlen (p); i++) { y = p[i] - 65; if (y = 32) y -= 32; //如果是小写则将其转化为大写 if (y -1 y 26) a[y]++; //只统计字母 } } 4 截图 5 实验心得 通过本次实验对字母的ASCII码运算有了更深入的认识。在使用的数组的时候,在指针调用方面出现了问题,经过自己慢慢看书搞懂了。对字数统计的时候没有明确的思路,经过看网上的实例,才有了思路。通过本次编程,对自己大一所学的C语言进行了复习和从新体会,回忆了大一的C语言。 二 鸽笼原理 1 问题详细描述 任意给定5个数字,其中必定存在3个数字已经有序(或者升序,或者降序),找出这5个数字中最长的升序或降序序列。 例如:1,7,5,3,9。则{1,7,9},{1,5,9},{1,3,9}都是最长的升序序列; 而{7,5,3}是最长的降序序列。 再如:1,3,2,5,7。最长的升序序列为{1,3,5,7}和{1,2,5,7}。2 流程图 3 源代码 #includestdio.h #define N 5 int flag,moon; void generate0(int *a)//检查原数组整数的顺序是否是升序或者降序的,若是则输出 { int j,k=0,l=0; for(j=0;jN-1;j++)//(j+1)需要小于N,带入转换 {if(a[j]a[j+1]) k++;//用k来计算 if(a[j]a[j+1]) l++; } if(k==N-1){ flag=1; printf((升序序列)); for(j=0;jN;j++) printf(%4d,a[j]); printf(\n); } if(k==N-1){ flag=1; printf((降序序列)); for(j=0;jN;j++) printf(%4d,a[j]); printf(\n); } } void generate1(int *s) { int a,b=0,c=0,d=0;//输出四个长度升序或降序的验证 for(a=0;aN;a++) for(b=a+1;bN;b++) for(c=b+1;cN;c++) for(d=c+1;dN;d++) { if(s[a]s[b]s[b]s[c]s[c]s[d]) { m

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档