首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用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
24
问题
请使用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全国计算机二级
相关试题推荐
试述格拉古兄弟改革的内容和意义。(北京师范大学1999年世界上古史真题)
简述《蒙巴顿方案》的主要内容。(东北师范大学2000年世界现代史真题)
在动机斗争中,面临两个或者两个以上目标冲突的有
简述统计假设检验中两类错误的定义及其关系。
设X~N(0,σ2),则服从自由度为n-1的t分布的随机变量是()
福禄贝尔建立了一个以活动与游戏为主要特征的幼儿园课程体系,其依据不包括
教育区别于其他社会事物的本质属性是
西周时期为保证适用法律的谨慎,防止错杀无辜,对犯罪事实有疑的案件,在司法审判中要经过()程序。
下列属于程序法部门中的非诉讼程序法的是()
对于给出的一组权w={10,12.16,21。30).通过霍夫曼算法求出的扩充二叉树的带权外部路径长度为()。
随机试题
最低可接纳水平
乙醇胺与部分硬脂酸生成物:石蜡:
一年轻人在打羽毛球时自己的球拍把额头碰破了一块皮,到某医院就医。接诊医生查看后,问明患者属公费医疗,于是开出了CT检查单。查后结果为阴性。此类现象产生的根源是
“治崩三法”是指()
下列旅游项目,旅行社不得向旅游者介绍和提供的有()。
给定资料1.2017年8月18日,民政部网站公布了指定的慈善组织互联网公开募捐信息平台上半年运营情况,13家指定平台半年来总筹款额超过7.5亿元。据统计,1—6月,13家指定平台共为全国两百多家公募慈善组织及其合作机构发布募捐信息超过1万条
19世纪90年代以后,封建守旧派和反对改变封建政治制度的洋务派,利用自己的地位和权力,对维新思想发动攻击,斥之为“异端邪说”,指责康有为、梁启超等维新派人士是“名教罪人”“士林败类”。于是维新派与守旧派之间展开了一场激烈论战。下列属于守旧派的观点有
以下不属于SQL数据操作命令的是( )。
AsanationalleaderwithoverfortyyearsofexperienceprovidingTV,radio,andmarketingservicestothecorporateworld,Abi
Publicofficialsandcandidatesforpublicofficeroutinelyusepublicopinion【C1】______tokeep【C2】______ofwhatthepeoplear
最新回复
(
0
)