资源描述:
《c语音统计字符个数》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、实验题目文件处理简单应用实验时间2014年5月22日实验地点DS1402实验成绩实验性质□验证性□设计性√综合性教师评价:□算法/实验过程正确;□源程序/实验内容提交□程序结构/实验步骤合理;□实验结果正确;□语法、语义正确;□报告规范;其他:评价教师签名:一、实验目的1.理解计算机处理数据的层次结构和文件的基本概念;2.掌握文件打开或建立的方法;3.理解并掌握文件内部读写位置指针移动的基本概念和方法;4.掌握常用的文件数据读写标准函数的使用方法;二、实验项目内容(实验题目)函数filelen的原型如下所示,其功能是统计出指定文
2、本文件中每一个大写英文字母、每一个小写英文字母、每一个数字字符出现的次数以及文件中字符的总数。请编写函数filelen并编制主函数进行测试。intfilelen(FILE*f,intupc[],intlowc[],intnumc[]);提示:①文件在主函数中打开/关闭,通过文件类型指针f传递到函数中;②文件中字符总数通过函数的返回机制返回;③统计的3类字符个数通过计数器数组从函数中带回,在主函数中输出;三、源程序(实验过程或算法)#includeintfilelen(FILE*f,intupc[],intlow
3、c[],intnumc[]);intmain(){FILE*fp;charfn[20];intn,i;inta[26]={0},b[26]={0},c[10]={0};printf("?FileName:");gets(fn);if((fp=fopen(fn,"r"))==NULL){printf("不能打开文件.");return0;}n=filelen(fp,a,b,c);fclose(fp);for(i=0;i<26;i++)printf("%3c",i+'A');printf("");for(i=0;i<26;i
4、++)printf("%3d",a[i]);printf("");for(i=0;i<26;i++)printf("%3c",i+'a');printf("");for(i=0;i<26;i++)printf("%3d",b[i]);printf("");for(i=0;i<10;i++)printf("%3c",i+'0');printf("");for(i=0;i<10;i++)printf("%3d",c[i]);printf("");printf("文件中字符总个数为%d.",n);return0
5、;}intfilelen(FILE*f,intupc[],intlowc[],intnumc[]){charc;intm=0;while((c=fgetc(f))!=EOF){m++;if(c>='A'&&c<='Z')upc[c-'A']++;elseif(c>='a'&&c<='z')lowc[c-'a']++;elseif(c>='0'&&c<='9')numc[c-'0']++;}returnm;}四、源程序调试过程和(或)实验分析本实验难点在于字符的计数。同时在“filelen(fp,a,b,c);”这一句中一开始我输
6、入为“filelen(*fp,a,b,c);”,程序出错。后改正无误,验证如下:通过这次试验,我更好的掌握了文件打开或建立的方法,理解并掌握了文件内部读写位置指针移动的基本概念和方法,并学会了常用的文件数据读写标准函数的使用方法。