首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和C++程序,将应填入(n)处的字句写在对应栏内。[说明] 下面的词典类Dic实现了简单的英译汉功能。程序运行后的输出为“我是一个学生”。 [C++程序] #include <iostream.h> #include <string.h>
阅读以下说明和C++程序,将应填入(n)处的字句写在对应栏内。[说明] 下面的词典类Dic实现了简单的英译汉功能。程序运行后的输出为“我是一个学生”。 [C++程序] #include <iostream.h> #include <string.h>
admin
2009-02-15
61
问题
阅读以下说明和C++程序,将应填入(n)处的字句写在对应栏内。[说明]
下面的词典类Dic实现了简单的英译汉功能。程序运行后的输出为“我是一个学生”。
[C++程序]
#include <iostream.h>
#include <string.h>
#define Max 100
class Dic
{ int top;
char words[Max] [12];
char mean[Max] [20];
public:
Die(){top=0;}
void add(char w[],char m[]){
strcpy(words[top],w);
strcpy(mean[top],m);
(1);
}
void trans(char str[]) {
int i=0,j=0,k=0,s;
char w[12],h[200];
while(l) {
if(str
! =’’&&str
! =’\0’)
w[j++]=str
; //读取单词的一个字符,记录在w中
else {
w[j]=’\0’;
for(s=0;s < top;s++)
if(strcmp(words[s],w) (2) 0) break;
if(s<top) //找到了,翻译成对应的mean[s]
{ strcpy(w,mean[s]); j=(3);}
else //未找到,翻译成(unknown)
{ strcpy(w,"(unknown)"}; j=9; }
for(s=0;s<j;s++)
h[k++]=w[s];
if(str
==’\0’) { (4); break;}
j=0;
}
i++;
}
cout<<h<<endl;
}
};
void main()
{ Dic obj;
obj.add("I","我");
obj.add("am","是");
obj.add("student","学生");
obj.add("a","一个");
obj.trans("(5)");
}
选项
答案
(1) top++ (2) = = (3) strlen(w) (4) h[k]=’\0’ (5) I am a student
解析
词典类Dic包括top(当前单词指针),words(英语单词库)mean(对应中文单词库)数据成员,以及一个构造函数、add()(添加单词)和trans(英汉翻译)成员函数。trans函数通过检索单词的方式将一段英语翻译成对应的汉语,其算法是:循环读取输入的英文串str,每遇到空格或者到达末尾时提取一个单词w;然后在词典中搜索w,若找到了,将w替换成对应的中文单词,否则用“(unkown)”替代;将w追加到结果串h末尾,若到达str末尾时退出循环并输出h。
(1)词典中添加一个单词,top应增1;
(2)此处for循环用于在词典英文单词中查找w,一旦匹配即刻退出该循环;
(3)下文需要将w追加到h末尾,因此需要获取w的长度并存放于j中;
(4)如果达到输入字符串的末尾,则翻译过程结束,应给结果串h添加结束符号;
(5)由程序输出易知。
转载请注明原文地址:https://www.kaotiyun.com/show/TojZ777K
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
某单位需要使用浓度为15%的盐水750克,但只有浓度20%和5%的两种盐水。经过计算,将浓度20%和5%的盐水分别取()克混合后就能达到要求。
()是一种不可靠的、无连接的协议,但可以保证应用程序间的通信。
以下叙述中,针对应用需求,(68)选用了不适当的信息处理方法。
Word可以打开很多类型的文件,在Word的“打开”对话框中对这些类型都以列表的形式列了出来,但是扩展名是(47)的文件不能够被Word正常打开。
下列软件中,(35)可以完成文件压缩和还原。
某工作站无法访问域名为www.test.com的服务器,此时使用ping命令按照该服务器的IP地址进行测试,响应正常。但是按照服务器域名进行测试,出现超时错误。此时可能出现的问题是(17)。
在Excel2003中,A1到E6单元格的值如下图所示,若在A7单元格中输入函数“=COUNTA(A1:E6)”,按回车键后,则A7单元格显示的值为(44)。
在Excel2010的A1单元格中输入函数“=ABS(ROUND(-1.478,2))”,按回车键后,A1单元格中的值为________________。
计算机网络中,防火墙的功能不包括________________。
随机试题
有关外毒素的说法,下列错误的是
男,36岁,与家人争吵1小时后被人发现昏迷,查体体温36.5℃,血压120/80mmHg,四肢厥冷、腱反射消失,心电图示一度房室传导阻滞,血液的COHb为60%。目前首要的治疗方法是
X线管内高速电子的动能取决于
以上哪项不是槟榔的适应证()使君子能够治疗的病证是()
诉讼代理人是代理当事人进行民事诉讼活动的人,下列能够作为诉讼代理人的包括()。
挖掘型耙头适用于挖掘()等土质。
下列各选项中,属于项目质量计划应确定内容的是()。
简述银行在国民经济中的地位。
7,23,55,109,191,()
设函数ψ(y)具有连续导数,在围绕原点的任意分段光滑简单闭
最新回复
(
0
)