江苏计算机二级考试+Visual+C++上机真题一2013年春季
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
江苏计算机二级考试 Visual C++上机真题一2013年春季
(总分:2.00,做题时间:70分钟)
1.改错题【题目】如果将一个二进制数的各位数字的顺序颠倒后所得到的新二进制数与原数相等,则称该二进制数为回文数,以下程序的功能是:在由两个正整数确定的范围内,查找对应的二进制数为回文数的整数,采用的算法是:将待判断的整数转换为二进制数形式,并按正序和反序方式分别存入两个字符串中,比较两个字符串,若两个字符串相等则该数为符合要求的数正确程序的输入/输出结果如下(下划线部分为键盘输入): 请输入查找范围:100 200 对应的二进制数为回文数的个数为:8 107à1101011 119à1110111
127à1111111 129à10000001 153à10011001 165à10100101 189à10111101 195à11000011 含有错误的源程序如下#include #include char *fun(int t) { char s1[33]={0},s2[33]={0},c,*p1,*p2; p1=s1;p2=s2+31; while(t){ c=t%2; t/=2; *p1++=c; *p2++=c; } p2++; if(!strcmp(s1,p2)){ char *p=new char[33]; strcpy(p,s1); return *p; } else return 0; } void main() { int a[200]={0},low,up; char
*bin[200]={0},*p; cout<<"请输入查找范围:"; cin>>low>>up; for(int i=0,j=low;j<=up;j++)
if(p==fun(j)){ a[i]=j; bin[i++]=p; } cout<<"对应的二进制数为回文数的个数
为:"<<i<<<a[i]<<"-->"<<bin[i]<
(分数:1.00)
__________________________________________________________________________________________ 正确答案:()
解析:
2.编程题(20分) 【题目】试定义一个类STR,统计一个字符串中包含的句子数和单词数,规定单词之间以空格、”,”或”.”分隔,句子以”.”结束,具体要求如下 (1)私有数据成员 char *s :指向待统计的字符串 int m,n: 分别记录求得的单词数和句子数 (2)公有成员函数 STR(char *t): 构造函数,用参数t初始化字符串s void fun(): 按题意统计单词数,结果存放在数据成员m中,再统计句子数,结果存放在数据成员n中 void print(): 按输出示例的格式输出统计结果 ~STR(): 析构函数,实现必要的功能 (3)在主函数中对该类进行测试输出示例: 字符串:I am a student. I am twenty. I com from china 句子数:3 单词数:11 【要求】源程序文件名必须为myfb.cpp,并放在T盘根目录下,供阅卷用
(分数:1.00)
__________________________________________________________________________________________ 正确答案:()
解析:。