“统计字母的频率”的实验报告I.问题描述: 为了计算英语字母的使用频率,请输入一串不包含空格且长度不能超过200个字符的英语字母. 计算26个英文字母的使用频率,不区分大小写. 最后,根据使用频率从大到小输出字母(小写字母)和使用频率(出现次数). 其次,程序设计的基本思想,原理和算法: 定义一个将大写字母转换为小写字母的函数: char字母(char y)程序代码: 定义三个数组a [200],b [26],c [26]并将c [26]的初始值分配为0,以定义变量xc语言用什么定义字母,i,j,k. 输入英文字符串,然后将大写字母重写为小写字母,以计算每个字母的数量. 在数组c [26]中,26每个字母都分配给b [26]. 比较字母数,并将字母数排列在最前面. 根据频率输出字母和频率. 3.源程序和注释: #include“ stdio.h” #include“ windows.h” void main(){字符字母(char y); //声明字母函数char a [200],b [26]; // a代表输入字母c语言用什么定义字母,b代表26个字母int c [26] = {0}; // c表示字母出现char x的次数; int i,j,k; printf(“请输入不带空格的英文字符串: \ n”); scanf(“%s”,&a); //输入字符;得到(a),可以有空格(i = 0; i <200; i ++)//将大写字母更改为小写字母a [i] =字母(a [i]); for(j = 0,x ='a'; j <26; j ++,x ++)//计算(i [0; i <200; i ++)的每个字母的数目i] == x)c [j] +; for(k = 0; k <26; k ++)//将26个字母分配给bb [k] ='a'+ k; for(i = 0; i <25; i ++)//比较字母数字大小,(j = 25; j> i; j--)如果(c [j]> c [ j-1]){k = c [j-1]; c [j-1] = c [j]; c [j] = k; x = b [j-1]; b [j-1] = b [j]; b [j] = x;}系统(“ cls”); printf(“以下是输出结果: \ n”); for(k = 0; k <26; k ++)//根据频率大小printf(“字母%c使用的次数为: %d \ n”,b [k],输出字母和频率c [k]); system(“ pause”);} char字母(char y)//定义一个将大写字母转换为小写字母的函数{if(y> ='A'&& y <='Z')y = y + 32; return(y);}四,跑输结果: 五,调试和分析实习工作相对容易,主要是将大写字母转换为小写字母并进行排序. 6.实验总结1.这是实习的第一步. 自从我刚刚度过暑假以来,我已经忘记了C语言. 一开始,我很沮丧,犯了很多错误. 2.这种编程使我复习了C语言的许多知识点.
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-223883-1.html