王明贤—综合性实验报告格式
更新时间:2023-05-19 08:07:01 阅读量: 实用文档 文档下载
- 王明贤推荐度:
- 相关推荐
C语言程序设计综合实验
实验题目: 文件操作与字符处理综合实验 实验班级: 学生学号: 学生姓名: 任课教师: 提交时间:
2011级软工R1班 201131000421
王明贤 陈湘骥
2012年3月12日
华南农业大学 信息学院
一、题目与运行说明
(1) 题目描述
在当前目录中存在文件名为"case1.in"(其中case后为数字1,不是字母l,写错提交后会判错)的文本文件,其内容为一篇英文文章(以EOF作为结束标志)。现要求读取该文本文件内容,统计文章中每个单词出现的次数,并输出出现次数最多的前5个单词及其出现次数(按出现次数由多到少的顺序输出,次数相同时按字典顺序输出,不足5个单词时,按序输出全部单词)。程序中注意如下细节:
(1) 空格、标点符号与回车符起到分隔单词的作用。 (2) 文章一行的末尾可能有连字符,出现连字符时,该行最末的字符串与下行最先出现的字符串
构一个单词;
(3) 名词缩写算一个单词; (4) 数字不算单词; (5) 单词不区分大小写; (6) 输出时单词全使用小写;
(2) 数据输入的形式和输入值的范围
单词以文件形式读入 总个数不超过10000 每个单词不多少20个字符
(3) 数据输出的形式
输出 单词及其它的个数以字符逐行输出
(4) 程序中所使用的主要变量
程序所用变量有:数组b,循环变量i、j、t,计数变量m、k,判断变量h
(5) 程序所能达到的功能以及出错处理
将文件中的大写字母转换为小写,并找出文章中不同的英文单词,且把它们出现的个数计出来;最后把使用频率最高的五个按出现次数从多到少的个数输出。其中可比较英文单词的大小,并将其排序。
二、程序设计思路
读入单词→检验是否单词→标记单词并计其个数→排序单词→输出前五个单词
三、程序清单 #include "stdio.h" #include "math.h" #include "string.h" #include "stdlib.h" struct word main() {
FILE *fp;
char b[30],ch;
int i=0,m=1,j=0,k=0,t=0,h=0; fp=fopen("case1.in","r"); if(!fp)
//定义文本标志h用来标志读到字符为单词 //以"读"方式打开文件 //判断文件是否正常打开
//定义文件指针
{
char c[30]; int n;
//在结构体里定义一个字符数组
//在结构体中定义记录出现相同单词次数的变量n
//创建一个结构体
}w[10000];
return 0;
//如果读入的字符不是文件结尾标志
while((ch=fgetc(fp))!=EOF) {
if('A'<=ch&&ch<='Z') ch=ch+32; //如果读到的字符为大写字母,将其转为小写字母 if('a'<=ch && ch<='z') {b[i]=ch;i++;h=1;}
//通过改变数组下标将读到的完整单词放入到字符数组,单词标志
赋值为1 时
else {
if(ch=='-'&&(ch=fgetc(fp))=='\n') //当读到的字符是标点符号和回车符
{
h=0;
//把单词标志赋值为0
} else {
//如果单词标志为1
if(h==1) { b[i]='\0';i=0;h=0;m=0; for(j=0;j<k;j++) {
if(strcmp(b,w[j].c)==0)
组单词相同
{m=1;break;}
} if(m) w[j].n++;
else
{w[k].n=1;strcpy(w[k].c,b);k++;}
}
} }
}
for(i=0;i<k&&i<5;i++) { t=0;
while(w[t].n==0) t++; for(j=1;j<k;j++) { if(w[j].n>w[t].n) t=j; else
if(w[j].n==w[t].n)
序
//如果数组中单词和结构体中对应数
//m赋值为1,跳出循环
//如果m不为0,相同单词个数自加
//单词出现次数为1,
//如果单词出现次数相同,使用字典排
}
}
}
{ }
if(strcmp(w[j].c,w[t].c)<0)
t=j;
//比较单词首字符大小 //交换下标把字符按大小排列
printf("%s %d\n",w[t].c,w[t].n); w[t].n=0;
//输出对应单词与其对应出现的次数 //每循环完一次把单词的次数赋值为0
return 0;
四、小结(收获和体会)
经过该综合性实验,涉及文件的操作,结构体的应用,循环有合理使用,数组的应用,字母的排序。这些都综合的体现了C的基本知识。这使得我对所学知识的应用。
评分表 题目:文件操作与字符处理学号: 评分项目 1.实现情况(40) :完成设计要求的情况 4.程序规范(10) :程序的结构与格式规范程度等等 5.报告情况(35) :报告内容是否详实,总结内容是否深刻等等 6.报告规范(15) :撰写的规范性、合理性等等 总成绩: 评语: 姓名: 分数
评阅老师:
评阅时间:
年
月
日
正在阅读:
王明贤—综合性实验报告格式05-19
英语教案的书写格式与技巧05-11
07-13年广东高考数学理科概率统计真题(含答案)09-12
电子信息工程毕业设计(论文)-基于单片机的十位数字密码锁电路设04-12
原料药生产工艺变更的技术要求及案例分析05-22
机关事务中心2022年度工作总结暨度工作计划优秀参考04-26
《机械制图》第二学期期中试题01-10
vf习题 第四章:SQL10-22
我对家长学校的理解01-04
工地暴雨内涝预防措施04-23
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 明贤
- 综合性
- 实验
- 格式
- 报告
- 第九讲 软件复用与构件化软件开发(Software Reuse and Software Design based Component
- 表面增强拉曼散射活性基底
- 2011年春季武汉巨人教育七年级尖子班测试卷答题卡
- 计算机网络实验报告
- 教学经费定义、类别、使用及管理
- 九年级物理综合练习1
- 神河建管处监理工作管理办法
- 微生物实验室规范指导原则
- 四川农业大学《建筑构造(本科)》17秋在线作业满分答案
- 从韩企三星电子学习如何在中国成功进行跨文化管理
- 小学教师学习实践科学发展观心得体会
- 安全检查表分析(SCL)记录表(设备、设施)
- 2.2《我国的干旱、洪涝、寒潮和台风》同步练习1(湘教版选修5)
- 怎么加盟把月儿湾婴儿游泳馆经营好
- 滚筒筛操作维护检修规程
- 财务人员考核制度
- 2015年银行校园招聘考试面试形式
- 浅谈网站在交换友链时三种最有效的方法
- 汽车集团在华研发中心运作模式调研(中国汽车跳槽指南)
- 《公共管理理论研究》第七讲西方政府新公共管理改革