- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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)