首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生目录proj3下的工程文件proj3,此工程中包含一个源程序文件proj3.cpp,补充编制C++程序proj3.cpp,其功能是读取文本文件in.dat中的全部内容,将文本存放到doc类的对象myDoe中。然后分别统
请使用VC6或使用【答题】菜单打开考生目录proj3下的工程文件proj3,此工程中包含一个源程序文件proj3.cpp,补充编制C++程序proj3.cpp,其功能是读取文本文件in.dat中的全部内容,将文本存放到doc类的对象myDoe中。然后分别统
admin
2015-06-27
46
问题
请使用VC6或使用【答题】菜单打开考生目录proj3下的工程文件proj3,此工程中包含一个源程序文件proj3.cpp,补充编制C++程序proj3.cpp,其功能是读取文本文件in.dat中的全部内容,将文本存放到doc类的对象myDoe中。然后分别统计26个英文字母在文本中出现的次数,统计时不区分字母大小写。最后将统计结果输出到文件out.dat中。文件in.dat长度不大于1000字节。
要求:
补充编制的内容写在“//**********333**********”
与“//**********666**********”之间。实现分别统计26个英文字母在文本中出现的次数,并将统计结果在屏幕上输出。统计时不区分字母大小写,输出不限格式。不得修改程序的其他部分。
注意:程序最后将结果输出到文件out.dat中,输出函数writeToFile已经给出并且调用。
//proj3.cpp
#include
#include
#include
usingnamespacestd;
classdoc
{
private:
char*str;//文本字符串首地址
intcounter[26];//用于存放26个字母的出现次数
intlength;//文本字符个数
public:
//构造函数,读取文件内容,用于初始化新对象。filename是文件名字符串首地址。
doc(char*filename);
voidcount();//统计26个英文字母在文本中出现的次数,统计时不区分大小写。
~doc();
voidwriteTOFile(char*filename);
};
doc::doc(char*fiIename)
{
ifstreammyFile(fiIename);
intlen=1001,tmp;
str=newchar[len];
length=0;
while((tmp=myFile.get())!=EOF)
{
str[length++]=tmp;
}
str[length]=’\0’;
myFile.close();
for(inti=0;i<26;i++)
counter
=0;
}
//*************333***********
//*************666***********
doc::~doc()
{
delete[]str;
}
voiddoc::writeToFile(char*
filename)
{
ofstreamoutFile(filename);
for(inti=0;i<26;i++)
outFile<
<
outFile.close();
}
voidmain()
{
docmyDoc("");
myDoc.count();
myDoc.writeToFile("");
}
选项
答案
void doc::count() { for (int i = 0; i < length; i++) { if(str[i]>=’a’ && str[i]<=’z’) counter[str[i]-’a’]++; if(str[i]>=’A’ && str[i]<=’Z’) counter[str[i]-’A’]++; } for (int index = 0; index < 26; ++index) cout<< (char)(index + 65)<< " or "<< (char)(index + 97) << " 出现的次数是:"<< counter[index]<< endl; }
解析
主要考查考生对统计字母的掌握,首先要判断该字符是否为字母,即为字符的ASCⅡ码大于等于a,小于等于z时,为小写字母,当大于等于A,小于等于Z时,为大写字母,则用于计量该字母出现次数的元素值加1。如何确定计量字母次数的元素下标是本题的难点,当字母为小写字母时,用该字母的ASCⅡ码减于a的ASCⅡ码,当字母为大写时,用该字母的ASCⅡ码减于A的ASCⅡ码,即可得到计量该字母的元素下标。
转载请注明原文地址:https://kaotiyun.com/show/lIBD777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
概述雅尔塔体系的内容及其性质。(厦门大学2002年世界现代史真题)
概述公元前8世纪至前3世纪欧亚大陆三大古典文明中心的思想特征。(2010年统考真题)
简述统计假设检验中两类错误的定义及其关系。
在随机区组实验设计中,总平方和可以被分解为()
某学生某次数学测验的标准分为2.58,这说明全班同学中成绩在他以下的人数百分比是多少?如果标准分是-2.58,则全班同学中成绩在他以下的人数百分比是多少?()
某中学高三年级有三个班,高考前有一个免试保送升学名额,分别来自三个班的候选人的成绩如下:请选用不同的综合方法,帮助学校领导做出决策,决定保送对象,并评价其合理性。
材料:“法律对人的行为以及对社会关系的影响,实质上就是国家把自己的意志和态度通过国家权力加以推行和实现;法律作用取决于经济基础,在一定的社会中,法律能否承担起立法者赋予它的功能,从根本上说,这取决于生产关系或生产方式自身的生命力,而不是取决于立法者的主观愿
在社会规范中,一般地说,既规定权利又规定义务的有()。
有下列二叉树,对此二叉树前序遍历的结果为()。
对下列二叉树进行中序遍历的结果是()。
随机试题
A.腹式呼吸基本消失B.腹部压痛最显著的部位C.腹肌强直呈板状D.右下腹柔软,无压痛E.腹胀,肠鸣音消失
A.EB病毒B.人乳头瘤病毒C.乙肝病毒D.幽门螺旋杆菌E.丙肝病毒和官颈癌相关的是
个人贪污数额( ),处两,年以下有期徒刑或者拘役,
震害调查表明,框架结构震害的严重部位多发生在()。
施工生产安全事故应急预案体系由()构成。
2016年5月甲公司安排职工刘某在目标准工作时间以外延长工作时间累计12小时。已知甲公司实行标准工时制度,刘某日工资为160元。分析甲公司应支付刘某5月最低加班工资的下列算式中,正确的是()。(2017年)
基于树的组播路由协议一般包括两个过程:组播树形成和组播树维护。()
阅读下列关于抗日战争的一组材料材料1从1935年发表“八一宣言”到1936年4月,我党对蒋介石的方针和策略口号是“反蒋抗日”;提出了建立抗日民族统一战线,但这个统一战线不包括蒋介石在内;当时把日本帝国主义和蒋介石相提并论,都作为我们的主
A、StayingconnectedallthetimeontheInternet.B、Keepingintouchwiththenewseveryday.C、Gettingalittleunpluggedwhen
His______novelismoreinterestingthananyothernovelshe’severwritten.
最新回复
(
0
)