首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用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
47
问题
请使用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全国计算机二级
相关试题推荐
提出人类具有三种灵魂即植物灵魂、动物灵魂和人的灵魂并分别以不同教育方式予以教育培养的思想家是
提出“准备过完满生活,是教育应该履行的功能。这种功能的履行程度,也是评定教育课程的唯一理性的判断方式”的教育家是
法的制定就是指法定的国家机关,依照法定职权和程序()。
在我国,诉讼程序法包括()。
简述法律关系的定义和特征。
设f(χ)为单调函数,且g(χ)为其反函数,又设f(1=2),f′(1)=-,f〞(1)=1则g〞(2)=________.
设f(x)是满足=1的连续函数,则当x→0时是关于x的________阶无穷小量.
有下列二叉树,对此二叉树进行后序遍历的结果为()。
有下列二叉树,对此二叉树前序遍历的结果为()。
对于给出的一组权w={10,12.16,21。30).通过霍夫曼算法求出的扩充二叉树的带权外部路径长度为()。
随机试题
医院与药品经销人员串通,抬高药价,由后者付给一定回扣。这是一种()
医院内获得性肺病的常见病原菌,下列正确的是
结构相连或具有共有、共用设备和附属建筑,而为不同所有人所有的房屋,一般称之为()。
散客旅游团队的特点有()。
A大学的小李和B大学的小孙分别从自己学校同时出发,不断往返于A、B两校之间。现已知小李的速度为85米/分钟,小孙的速度为105米/分钟,且经过12分钟后两人第二次相遇。问A、B两校相距多少米?()
沿着溪边再往前走,走过两户农家乐,山脚边有一条初步成形的游步道。拾级而上半山腰,一个观景台正在建设中,从这里______,整个下姜村美景尽收眼底。填入画线部分最恰当的一项是:()
震级相差一级,能量相差约10倍。()
借助上星期刚问世的第二代亚马逊电子阅读器,只需几十秒,你就可以足不出户地看到最新出版的《纽约客》或《读者文摘》。然而,这种阅读体验是要打折扣的:所有的图片和文字都只能以黑白呈现。不过,这种情况可能很快就会改变。电子墨水公司(E—Ink)日前宣布,彩色的电子
列宁说:“人不能完全地把握、反映、描绘整个自然界、它的‘直接的总体’,人只能通过创立抽象、概念、规律、科学的世界图景等等永远地接近于这一点。”这句话说明真理具有
A、Povertyandlackofeducation.B、Localculturethatundervalueschildren.C、Thelowlegalageformarriage.D、Highrisksofbe
最新回复
(
0
)